2024-07-07 10:00:02

如何停止断行在vim

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


当前回答

:设置tw = 0

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

其他回答

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

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

:set wrap linebreak nolist

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

AND

set formatoptions=l

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

如果像我一样,你在Windows上运行gVim,那么你的.vimrc文件可能是另一个“示例”Vimscript文件,它会自动设置文本文件的文本宽度(在我的例子中是78)。

我在Vi和Vim Stack Exchange站点上回答了一个类似的问题——如何停止gVim在第80列包装文本:

In my case, Vitor's comment suggested I run the following: :verbose set tw? Doing so gave me the following output: textwidth=78 Last set from C:\Program Files (x86)\Vim\vim74\vimrc_example.vim In vimrc_example.vim, I found the relevant lines: " Only do this part when compiled with support for autocommands. if has("autocmd") ... " For all text files set 'textwidth' to 78 characters. autocmd FileType text setlocal textwidth=78 ... And I found that my .vimrc is sourcing that file: source $VIMRUNTIME/vimrc_example.vim In my case, I don't want textwidth to be set for any files, so I just commented out the relevant line in vimrc_example.vim.

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

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 nowrap ..效果好极了!

Use

:set wrap

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

Use

:set nowrap

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