gpt4 book ai didi

formatting - Vim: 换行文本 ("gq") 而不修改带下划线的标题

转载 作者:行者123 更新时间:2023-12-03 20:19:23 25 4
gpt4 key购买 nike

有没有一种在 Vim 中格式化文本的方法来尊重带下划线的标题?

在 Markdown 中,有两种表示标题的方式:

#Level 1 heading
##Level 2 heading
###Level 3 heading

仅适用于 1 级和 2 级:
Level 1 heading
===============

Level 2 heading
---------------

我喜欢下划线的风格,因为我认为它读起来更好。

当我在 Vim 中用 :set textwidth=72 编写 markdown 时,我希望能够使用 gggqG 重新格式化整个文档。 ,但它将这些带下划线的标题视为段落,并将它们挤在一起成为一行。所以如果我从以下几点开始:
Lorem ipsum
===========

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

运行后 gq在整个段落中,我最终会得到这样的结果:
Lorem ipsum ===========

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat.

有什么办法可以阻止 Vim 格式化带下划线的标题?

我想必须有一个使用 formatexpr 的解决方案或 formatprg .我研究了 par 的文档,尽管非常强大,但它看起来好像不是它的功能之一。所以我想知道是否还有另一个可以与 formatprg 一起使用的外部程序理解 Markdown ,或者如果可以使用带有 formatexpr 的 vimscript 来实现这一点环境。

最佳答案

sorta 工作的一种选择是将下划线字符串添加到 comments多变的。

如果您的下划线字符串是固定大小,您可以只添加那些:

:set comments+=:---------------,:===============

如果它们的大小可变(不止一个):
:set comments+=n:--,n:==

使用多个允许一个段落以单个 - 开头或 =并防止后续行以注释字符串开头。

删除 +以上只是为这些字符串设置注释,而不是添加它们。

在某些情况下,格式会出现意外(例如,连续行上的下划线)。我相信有更合适的方法来做到这一点,但希望这能让你开始。
:h comments
:h format-comments
:h formatoptions
:h fo-table

关于formatting - Vim: 换行文本 ("gq") 而不修改带下划线的标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2682534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com