我喜欢长线显示在多个终端线;我不喜欢vim插入换行到我的实际文本。我应该修改。vimrc的哪一部分?
当前回答
我不确定我完全理解,但你可能正在寻找'formatoptions'配置设置。试着这样做:set formatoptions-=t。t选项将插入换行符,使文本按textwidth设置的宽度换行。你也可以把这个命令放在你的.vimrc中,只是去掉冒号(:)。
其他回答
Use
:set wrap
可视化地换行,即该行仍然是一行文本,但Vim将其显示为多行。
Use
:set nowrap
将长行显示为一行(即,您必须水平滚动才能看到整行)。
你可能会发现设置换行符很有用;在设置换行时,换行只是在空白处而不是在单词中间。
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
我喜欢在多个终端行上显示长行
这种可视/虚拟行换行是由wrap window选项启用的:
:set wrap
默认情况下,这将在窗口中不适合的第一个字符处换行。这意味着如果窗口边界位于单词的中间,它将自动换行。要将其更改为按单词边界换行,您还可以:
:set linebreak
这将导致换行只对换行符设置中的字符进行换行,该设置默认为空格、制表符和一小组标点符号。
:set breatat
breakat= ^I!@*-+;:,./?
我不喜欢vim插入换行到我的实际文本。
要关闭物理行换行,请清除textwidth和wrapmargin缓冲区选项:
:set textwidth=0 wrapmargin=0
set formatoptions-=t保持视觉文本宽度,但不会在插入模式中添加新行。
如果像我一样,你在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.