我想在窗口结束前将文本换行 5 个字符(不换行)。
如果不在文本中放置 EOL 字符(wrapmargin/textwidth),我不知道如何做到这一点。
您需要设置 3 个选项,如下所示:
:set linebreak
:set wrap
:set nolist
如果其中任何一个设置为其他方式(例如:set list
),那么它将不起作用。
此外,还有一个选项可以设置一个字符,该字符将显示在换行的开头。例如:
:set showbreak=>
如果您想再次关闭该功能,请将其设置为空字符串:
:set showbreak=
请注意,即使换行看起来本身就是行,Vim 仍然认为它们是单行。因此,用 键向下移动光标j
会将其移动到下一个编号的行,而不是下一个显示的行。如果您显示了行号 ( :set number
),这会更有意义。如果要通过显示线上下移动,可以使用gk
andgj
代替。这里还有一些你会发现有用的g命令:
Numbered line Display line
------------- ------------
j gj
k gk
$ g$
0 g0
^ g^
也许这linebreak
是您正在寻找的设置?
:se linebreak