vim中长段落的方便换行

vim中长段落的方便换行,vim,formatting,word-wrap,Vim,Formatting,Word Wrap,我正在寻找一种在vim中编写和编辑较长段落的技术。 本质上,我想要的是vim表现得像我目前正在写这个问题的html文本区域 在某种程度上,如果我set wrap和set linebreak,将j映射到gj,将k映射到gk,我就会得到这种行为。然而,在视觉模式下,动作仍然是直线式的,我知道没有方便的方法来选择长线的一部分 此外,我知道,如果光标的当前列位于某个树状结构之上,则textwidth选项会自动断行。 但是如果我从中间编辑这条线,当它太长时,这条线不会自动断开 我也知道我可以使用gq来格式

我正在寻找一种在vim中编写和编辑较长段落的技术。 本质上,我想要的是vim表现得像我目前正在写这个问题的html文本区域

在某种程度上,如果我
set wrap
set linebreak
,将
j
映射到
gj
,将
k
映射到
gk
,我就会得到这种行为。然而,在视觉模式下,动作仍然是直线式的,我知道没有方便的方法来选择长线的一部分

此外,我知道,如果光标的当前列位于某个树状结构之上,则
textwidth
选项会自动断行。 但是如果我从中间编辑这条线,当它太长时,这条线不会自动断开

我也知道我可以使用
gq
来格式化一组选定的行,但过了一段时间后会变得很烦人


vim中实现良好自动换行的技术是什么?

如果在formatoptions中设置
a
,您可能会得到您想要的:

:set formatoptions+=a
见:

...
a   Automatic formatting of paragraphs.  Every time text is inserted or
    deleted the paragraph will be reformatted.  See |auto-format|.
    When the 'c' flag is present this only happens for recognized
    comments.
...