执行:set wrap
后,Vim包裹的行比窗口长。
但是,是否可以让Vim仅在空白处换行到新行,而不是在单词的中途?
答案 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!