我的 .vimrc.local 底部有以下几行:
set textwidth=0
set wrapmargin=0
但是,每当我打开一个新文件时,这两个值都会设置为默认值(分别为 72 和 2),而不是我的自定义设置。我的 .vimrc.local 文件中的其他设置似乎已设置(制表符等),但只有这两个设置不断被重置。如果我输入:source ~/.vimrc.local
设置更改并正常工作。
有没有办法查看 vim 启动时设置的内容?我怀疑 MacVim 或 Janus 附带的某些插件或设置正在设置这些选项,但我不知道如何一次查看每个设置。
答案1
要找出最后设置'textwidth'和'wrapmargin'的位置,请执行
:verbose set tw? wm?
要查看已获取的文件,请执行
:scriptnames
如果这些还不足以找到问题,你可以在 Vim 启动时使用 -V 选项,并将各种启动事件记录到文件中。请参阅
:help -V
此外,'textwidth' 和 'wrapmargin' 的默认值均为 0,而不是 72 和 2,因此某些内容已将它们设置为非默认值。有关默认值,请参阅
:help 'textwidth'
:help 'wrapmargin'
附言
另外需要检查的是文件类型插件是否正在进行这些设置。该:verbose set ...
命令应该显示这些设置的位置,但您也可以执行
:set filetype?
查看当前文件类型,然后打开$VIMRUNTIME/ftplugin/<filetype>.vim
,其中 <filetype> 是上面找到的 'filetype' 选项的值,查看是否在那里进行了这些设置。您可以将设置放入您创建的名为 ~/.vim/after/ftplugin/<filetype>.vim 的文件中,从而覆盖文件类型插件所做的设置。请参阅
:help filetype-overrule
项目 #3。
答案2
我通过将以下内容添加到我的.vimrc.本地文件:
" Disable annoying auto line break
fu! DisableBr()
set wrap
set linebreak
set nolist " list disables linebreak
set textwidth=0
set wrapmargin=0
set fo-=t
endfu
" Disable line breaks for all file types
:au BufNewFile,BufRead *.* call DisableBr()
这应该可以禁用所有文件类型的不需要的自动换行符
答案3
这应该有帮助:
(也许BufAdd
andBufCreate
是多余的,但我还是添加了它以防万一)
function! DisableWrap()
set nowrap
set nolinebreak
set formatoptions-=cro
endfunction
autocmd BufNew,BufAdd,BufCreate,VimEnter * call DisableWrap()