有没有切换自动换行功能的命令?

29

默认情况下,我认为我的vimrc设置启用了自动换行。然而,有时候我想查看文本行不换行。是否有命令可以切换文本行包装的启用和禁用?这样可以避免我退出并更改设置。

默认情况下,我认为我的vimrc设置启用了自动换行。然而,有时候我想查看文本行不换行。是否有命令可以切换文本行包装的启用和禁用?这样可以避免我退出并更改设置。
7个回答

59

我想你想要的是:

:set wrap!

这将切换行折叠。

有关使用!(bang)更改命令的更多信息,请访问:

:help :_!

1
你可以使用':set wrap!'或':set invwrap'作为{option}!inv{option}与反转值同义,但是!(bang)运算符具有额外的功能,正如@jeremy-cantrell所指出的那样。 - Ari Patrick
完美。我甚至不需要编写一个函数! - daniel

17

在你的vimrc文件中创建一个类似于以下的函数:

:function ToggleWrap()
: if (&wrap == 1)
:   set nowrap
: else
:   set wrap
: endif
:endfunction

然后将一个键(例如F9)映射到调用此函数,就像这样:

map <F9> :call ToggleWrap()<CR>
map! <F9> ^[:call ToggleWrap()<CR>

每当您按下 F9 键,它应该切换您的换行开关。


1
如果你喜欢我的建议,那么你知道你必须做什么...眨眨眼,推推搡搡(提示:我的答案在下面列出) - Jeremy Cantrell
我仍然认为,如果您更喜欢通过按下功能键(或其他按键)来方便地切换自动换行,而不是输入命令,那么我的方法仍然有效。 - undefined

7
:set nowrap

还有一个 linebreak 选项,它控制换行后的文本是否在单词边界处断开。


6

添加以下内容以使CTRL+W切换换行。如果您不希望w键成为它,则可以将其更改为其他键。

map <C-w> :set wrap!<CR>

1

0

我喜欢tpope的unimpaired插件,其中yow将切换包装设置。


0
对于那些想要更改文本而不仅仅是视觉效果的人,例如在 git 提交时,只需连续按下 qt 并按回车键即可。这将正确地包装您光标所在的当前段落。段落仅由空行界定。或者您可以选择一些区域并按下 qt
我完全是意外发现了这个功能。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接