我的vimrc
(set noshowmode
)中的设置在加载过程中稍后被插件覆盖。
最后(或至少在插件之后)执行VimScript文件。
vimrc
(Source)之后执行。after-directory
接近最后运行并保留用户覆盖
(来源::h after-directory
)。runtimepath
确定运行顺序。我尝试将一个VimScript文件(包含set noshowmode
)附加到
$VIMRUNTIME
的结尾
set runtimepath=$VIMRUNTIME,~/.vim/nosmd.vim
,但这种方法结束了
弄乱其他插件(即vim-airline
,但没有加载)。
我也尝试创建~/.vim/after
目录并放入我的目录
VimScript在那里,但这没有效果。
答案 0 :(得分:1)
set runtimepath=$VIMRUNTIME,~/.vim/nosmd.vim
那不行。 'runtimepath'
包含根配置目录列表;你不能直接在那里放置脚本文件。而是指向包含plugin/yours.vim
的目录。
我也尝试创建
~/.vim/after
目录并将我的VimScript放在那里,但这没有效果。
您可以查看:scriptnames
以查看您的脚本是否已执行(以及插件加载序列的末尾!)
一盎司预防胜过任何解决方法。我会首先尝试找到更改'showmode'
选项的罪魁祸首;插件不应该这样做(或者至少有一个可配置选项来禁用它)。
:verbose set showmode?
可能已经告诉你是谁改变了这个设置。
正如@romainl已经评论过的那样,~/.vim/after/plugin/myplugin.vim
应该可以解决这个问题。如果它没有尝试以下autocmd(在~/.vimrc
中)作为最后的手段:
autocmd VimEnter * set noshowmode