如何在vim中停止换行

Hai*_*ang 242 vim

我喜欢长线显示在多个终端线上; 我不喜欢vim在我的实际文本中插入换行符.我应该改变.vimrc的哪一部分?

Bri*_*sen 284

使用

:set wrap
Run Code Online (Sandbox Code Playgroud)

要在视觉上包裹线条,即线条仍然是一行文本,但Vim会在多行上显示它.

使用

:set nowrap
Run Code Online (Sandbox Code Playgroud)

将长行显示为一行(即您必须水平滚动才能看到整行).

  • 这正是我所寻找的答案,但这不是OP问题的答案.将此作为最佳答案有点误导.我不知道如何解决这个问题.我只想编辑你的答案,也回答原来的问题.但已经有一个正确的答案,几乎同样高度投票.所以我只是投了两个答案. (7认同)
  • 当我输入时我仍然希望看到"视觉"80列限制,我不希望vim在第80次colomn后输入时自动添加换行符.我该怎么办? (5认同)
  • 谢谢你们的提示。我选择了:set nowrap和:set textwidth = 0 (3认同)
  • 这正是我*不是*寻找的答案,*不是* OP问题的答案。 (3认同)

Lau*_*ves 190

我喜欢长线显示在多个终端线上

使用wrapwindow选项启用了这种视觉/虚拟换行:

set wrap
Run Code Online (Sandbox Code Playgroud)

我不喜欢vim在我的实际文本中插入换行符.

要关闭物理换行,请清除textwidthwrapmargin缓冲区选项:

set textwidth=0 wrapmargin=0
Run Code Online (Sandbox Code Playgroud)

  • @qubodup你可以通过打开一个文件来测试是否有东西覆盖你的.vimrc设置,你会看到问题并输入`:verbose set textwidth?wrapmargin?`.这将告诉您他们当前的值以及它们的设置位置.你可能有一个覆盖它们的插件.在这种情况下,您可以卸载该插件,或者稍后在运行时路径中尝试覆盖插件设置(例如:`〜/ .vim/after`)或使用您自己的自动命令.正确的方法取决于重置的位置/方式. (4认同)
  • `set wrap` 和 `set linebreak` 就是为我做的。 (2认同)

Eri*_*ink 34

我不确定我完全理解,但您可能正在寻找'formatoptions'配置设置.尝试类似的东西:set formatoptions-=t.该t选项将插入换行符以使文本换行设置为宽度textwidth.你也可以把这个命令放在你的.vimrc,只需删除冒号(:).

  • 在我看来,这是解决OP愿望的最佳选择.我喜欢vim仍然在`tw`处显示垂直线的事实. (3认同)
  • 这是实际解决OP问题的唯一答案.大多数其他人则相反.OP仍然希望显示缠绕的长行,但是vim不会自动插入换行符. (3认同)

Vat*_*ala 30

使用:set nowrap..就像一个魅力!

  • 除了它与OP定义为想要的行为相反...:P (9认同)
  • @Morlock,但回答了我的问题,谷歌带领我来到这里:) (5认同)

ori*_*rip 26

:set tw=0

VIM不会自动插入换行符,但会保持换行.

  • 我想完全相反......当我输入时我仍然希望看到"视觉"80列限制,我不希望vim在第80次colomn后键入时自动添加换行符.我该怎么办? (3认同)

duk*_*ave 16

你可能会觉得set lbr有用; 与set wrap在此将包裹,但只有在切割的空白,而不是在一个字的中间线.

例如

without lbr the li
ne can be split on
a word
Run Code Online (Sandbox Code Playgroud)

with lbr on the
line will be
split on 
whitespace only
Run Code Online (Sandbox Code Playgroud)


小智 9

set formatoptions-=t 保持可视文本宽度,但不会在插入模式下添加新行.


pet*_*amb 5

奇怪的是,这样一个简单的设置需要如此多的“骗局”才能发挥作用。

现在回答你的问题,对我来说,它似乎可以结合以下内容:

:set wrap linebreak nolist
Run Code Online (Sandbox Code Playgroud)

(这似乎可以防止现有行中断,只需换行即可。)

set formatoptions=l
Run Code Online (Sandbox Code Playgroud)

(这可以防止新/编辑的行被破坏,而 += 对我不起作用,因为其他设置/插件似乎找到了空间并添加了自己的选项来覆盖我的选项。)