加载vimrc后Vim会加载插件吗?

Ste*_* Lu 20 vim

我试图覆盖插件中的突出显示集.该插件执行此操作:

highlight! link WordUnderTheCursor Underlined   
Run Code Online (Sandbox Code Playgroud)

首先,我不知道!添加highlight任何东西.但这无关紧要.

在vimrc中做这样的事情

highlight clear WordUnderTheCursor                             
highlight WordUnderTheCursor cterm=bold ctermfg=254 ctermbg=160
Run Code Online (Sandbox Code Playgroud)

似乎不会影响行为.

只有当我直接修改Underlinedvimrc中的样式(感觉不对)时,才会应用更改.

是否证明插件是在vimrc 运行运行的?

我怎么能取消这种风格?我无法确定这是否只是插件做了创意和不支持的事情,或者这是否是正常的Vim行为.这是vimscript本身.

FDi*_*off 38

是.vimrc在插件之前加载.

如果你看一下:h initialization你会发现第3步是加载vimrc而第4步是加载插件.

您还可以通过查看输出来看到vimrc在插件之前加载:scriptnames.scriptnames按照源代码的顺序列出所有源脚本,vimrc是第一个源代码.(看看:h :scriptnames).


要修复突出显示,您只需在插件获取后运行突出显示命令.为此,您将文件放在after目录的.vim目录中.(看一看:h after-directory)

因此.vim/after/plugin/hicursorwords.vim,使用以下内容创建文件

highlight clear WordUnderTheCursor                             
highlight WordUnderTheCursor cterm=bold ctermfg=254 ctermbg=160
Run Code Online (Sandbox Code Playgroud)

这将导致在更改插件设置之前获取插件.

(这当然假设您不想编辑插件)

  • 很好,谢谢。我已经有一些覆盖语法设置的 `after` 脚本,因此这非常适合整个方案。 (2认同)

Com*_*ong 10

除了脚本名,要查看vim在启动时运行的顺序是什么,您还可以使用:

vim --startuptime <file>

所以它将记录它按顺序执行的所有任务,以及每个任务花费的时间.