停止Vim在一个单词的中间包装线条

时间:2012-03-13 21:33:16

标签: vim

执行:set wrap后,Vim包裹的行比窗口长。

但是,是否可以让Vim仅在空白处换行到新行,而不是在单词的中途?

5 个答案:

答案 0 :(得分:57)

:help wrap

  

此选项可更改文本的显示方式。它不会改变文本   在缓冲区中,请参阅'textwidth'。   启用时,长于窗口宽度的行将换行   显示在下一行继续。离线时不会换行   并且只显示一部分长行。当光标是   移动到未显示的部分,屏幕将滚动   水平。   如有必要,该行将在一个单词的中间被打破。 查看   'linebreak'来获得单词边界的突破。

:help linebreak

  

如果在Vim上将长行包裹在'breakat'中的字符处   而不是最后一个适合屏幕的角色。

:help breakat

  

'breakat''brk'string(默认" ^I!@*-+;:,./?"

所以,:set linebreak,它应该开箱即用。或者,您可以限制breakat仅限空格,而不是空格+标点符号。

答案 1 :(得分:10)

使用

:set linebreak

或简称'lbr'。它会破坏'breakat'选项中包含的字符的行,默认情况下包含空格。

答案 2 :(得分:3)

打开vim后,按esc键并输入

:set lbr

答案 3 :(得分:1)

以下将执行换行而不会破坏任何单词并保留较短的行。

:set formatoptions+=w
:set tw=80
gggqG

要尝试格式化当前段落,请尝试以下步骤:

:nnoremap Q gqip

答案 4 :(得分:0)

以下命令对我有用,我在工作中使用Red Hat 7.x,在家里使用Cygwin 3.1.4。感叹号的行为类似于not运算符。

:set wrap
:set wrap!