我喜欢长线显示在多个终端线上;我不喜欢vim在我的实际文本中插入换行符。我应该改变.vimrc的哪一部分?
答案 0 :(得分:269)
使用
:set wrap
要直观地换行,即该行仍然是一行文本,但Vim会在多行上显示它。
使用
:set nowrap
将长行显示为一行(即您必须水平滚动才能看到整行)。
答案 1 :(得分:183)
我喜欢长线显示在多个终端线上
使用wrap
窗口选项启用此类视觉/虚拟换行:
set wrap
我不喜欢vim在我的实际文本中插入换行符。
要关闭物理换行,请清除textwidth
和wrapmargin
缓冲区选项:
set textwidth=0 wrapmargin=0
答案 2 :(得分:30)
我不确定我完全理解,但您可能正在寻找'formatoptions'配置设置。尝试类似:set formatoptions-=t
的内容。 t
选项将插入换行符,以textwidth
设置的宽度进行文本换行。您也可以将此命令放在.vimrc
中,只需删除冒号(:
)。
答案 3 :(得分:26)
使用:set nowrap
..就像一个魅力!
答案 4 :(得分:23)
:set tw=0
VIM不会自动插入换行符,但会保持换行。
答案 5 :(得分:16)
您可能会发现set lbr
有用;在set wrap
上使用without lbr the li
ne can be split on
a word
将包装,但只在空格上切割线而不是在单词的中间。
e.g。
with lbr on the
line will be
split on
whitespace only
和
{{1}}
答案 6 :(得分:8)
set formatoptions-=t
保持视觉文字宽度,但不会在插入模式下添加新行。
答案 7 :(得分:4)
奇怪的是,这样一个简单的设置需要这么多'hocus-pocus'才能工作。
现在回答你的问题,对我而言似乎可以使用以下内容:
:set wrap linebreak nolist
(这似乎可以防止现有的线条破裂,只是换行。)
和
set formatoptions=l
(这可以防止新的/已修改的行被破坏,而+ =不会对我这样做,因为其他设置/插件似乎找到空间并添加自己的选项覆盖我的。)
答案 8 :(得分:4)
如果像我一样,你在Windows上运行gVim,那么你的 .vimrc 文件可能会发送另一个“示例”Vimscript文件,该文件自动设置textwidth
(在我的情况下为{ {1}})用于文本文件。
My answer与此问题类似的问题 - How to stop gVim wrapping text at column 80 - 在the Vi and Vim Stack Exchange site上:
就我而言,Vitor's comment建议我执行以下操作:
78
这样做给了我以下输出:
:verbose set tw?
在 vimrc_example.vim 中,我找到了相关的行:
textwidth=78 Last set from C:\Program Files (x86)\Vim\vim74\vimrc_example.vim
我发现我的 .vimrc 正在寻找该文件:
" 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 ...
在我的情况下,我不希望为任何文件设置
source $VIMRUNTIME/vimrc_example.vim
,所以我只是在 vimrc_example.vim 中注释掉相关的行。
答案 9 :(得分:3)
set nowrap 允许您在没有vi / vim添加换行符的情况下粘贴一条长行是正确的,但是为了便于阅读,该行不会被视觉包裹。相反,它只需要滚动一条长线。
要让线条可视化换行但没有插入换行符,请设置换行(可能是默认值,因此不需要设置)和 set textwidth = 0
在某些系统上, textwidth = 0 的设置是默认设置。如果您没有发现这种情况,请将 set textwidth = 0 添加到.exrc文件中,以便它成为所有vi / vim会话的默认用户。
答案 10 :(得分:0)
我个人去过:
set wrap
,set linebreak
set breakindent
set showbreak=ͱ
。一些解释:
wrap
选项以视觉方式换行,而不必水平滚动linebreak
用于将长行换成一个特定的字符,而不是在行太长时(例如在单词中间)换行。默认情况下,它在空格(单词分隔符)上断开,但是您可以使用breakat
对其进行配置。它还不会按照OP的需要在文件中插入EOL
。breakat
是在视觉上将其换行的字符。如果您想在两个单词之间的空白处断开,则无需进行修改。breakindent
可以在断行时直观地缩进。showbreak
可以设置指示此中断的字符。有关更多信息,请参见vim中的:h <keyword>
。
请注意,如果您选择此路线,则无需修改textwidth
或wrapmargin
。