2024-07-07 10:00:02

如何停止断行在vim

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


当前回答

你可能会发现设置换行符很有用;在设置换行时,换行只是在空白处而不是在单词中间。

e.g.

without linebreak the li
ne can be split on
a word

and

with linebreak on the
line will be
split on 
whitespace only

其他回答

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

Use

:set wrap

可视化地换行,即该行仍然是一行文本,但Vim将其显示为多行。

Use

:set nowrap

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

奇怪的是,如此简单的设定却需要如此多的“恶作剧”才能奏效。

现在回答你的问题,对我来说,它似乎与以下几个方面相结合:

:set wrap linebreak nolist

(这似乎可以防止现有的线断裂,只是包装。)

AND

set formatoptions=l

(这可以防止新的/编辑的行中断,而+=并不为我这样做,因为其他设置/插件似乎找到空间,并添加他们自己的选项,覆盖我的。)

我不确定我完全理解,但你可能正在寻找'formatoptions'配置设置。试着这样做:set formatoptions-=t。t选项将插入换行符,使文本按textwidth设置的宽度换行。你也可以把这个命令放在你的.vimrc中,只是去掉冒号(:)。

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

这种可视/虚拟行换行是由wrap window选项启用的:

:set wrap

默认情况下,这将在窗口中不适合的第一个字符处换行。这意味着如果窗口边界位于单词的中间,它将自动换行。要将其更改为按单词边界换行,您还可以:

:set linebreak

这将导致换行只对换行符设置中的字符进行换行,该设置默认为空格、制表符和一小组标点符号。

:set breatat
  breakat= ^I!@*-+;:,./?

我不喜欢vim插入换行到我的实际文本。

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

:set textwidth=0 wrapmargin=0