【发布时间】:2010-03-18 14:26:19
【问题描述】:
我想在窗口结束前将文本换行 5 个字符(不换行)。
如果不在文本中添加 EOL 字符(换行边距/文本宽度),我不知道该怎么做。
【问题讨论】:
我想在窗口结束前将文本换行 5 个字符(不换行)。
如果不在文本中添加 EOL 字符(换行边距/文本宽度),我不知道该怎么做。
【问题讨论】:
您需要设置如下3个选项:
:set linebreak
:set wrap
:set nolist
如果以其他方式设置其中任何一个(例如:set list),则它将不起作用。
此外,还有一个选项可以设置一个字符,该字符将显示在换行的开头。例如:
:set showbreak=>
如果您想再次关闭该功能,请将其设置为空字符串:
:set showbreak=
请注意,即使换行看起来本身就是行,Vim 仍然认为它们是单行。因此,使用j 键向下移动光标会将其移动到下一个编号行,而不是下一个显示的行。如果您显示了行号 (:set number),这会更有意义。如果要通过显示线上下移动,可以使用gk 和gj 代替。这里还有一些您会发现有用的 g 命令:
Numbered line Display line
------------- ------------
j gj
k gk
$ g$
0 g0
^ g^
【讨论】:
也许linebreak 是您要查找的设置?
:se linebreak
【讨论】:
'wrap' 选项配对将在单词边界处执行视觉换行。没有一种方法可以准确地指定离窗口边缘多远会发生环绕。