本机 vim 插件加载顺序
native vim plugin load order
有时 Vim 插件会建议加载顺序,但 Vim 现在原生支持加载没有插件管理器的插件。您只需将子模块放入 ~/.vim/pack/vendor/start
之类的文件夹中,它就会自动加载。所以,我的问题是你如何确保加载顺序类似于人们以前的加载顺序。旧的做事方式示例如下:
Plug 'preservim/nerdtree' |
\ Plug 'Xuyuanp/nerdtree-git-plugin' |
\ Plug 'ryanoasis/vim-devicons'
让我们来做个小实验……
创建以下具有相应内容的虚拟文件:
Filepath
Content
pack/dummy/start/nerdtree/plugin/foo.vim
echom "nerdtree"
pack/dummy/start/nerdtree-git-plugin/plugin/bar.vim
echom "nerdtree-git-plugin"
pack/dummy/start/vim-devicons/plugin/baz.vim
echom "vim-devicons"
启动 Vim,您应该会看到如下内容:
$ vim
nerdtree
nerdtree-git-plugin
vim-devicons
Press ENTER or type command to continue
符合:
:filter dummy scriptnames
40: ~/.vim/pack/dummy/start/nerdtree/plugin/foo.vim
41: ~/.vim/pack/dummy/start/nerdtree-git-plugin/plugin/bar.vim
42: ~/.vim/pack/dummy/start/vim-devicons/plugin/baz.vim
Press ENTER or type command to continue
根据这个实验,我们可以得出结论,内置的“打包”功能将按照文件系统顺序“加载”在 start/
中找到的插件,无论如何,这恰好与规定的顺序相同。当然,您的 文件系统对目录的排序可能与我的不同,所以 YMMV。
理论上,:help :packadd
命令应该允许您从 vimrc
“管理”您的插件,就像使用插件管理器一样。让我们来试验一下……
将 start/
重命名为 opt/
:
pack/dummy/opt/nerdtree/
pack/dummy/opt/nerdtree-git-plugin/
pack/dummy/opt/vim-devicons/
在任何 syntax on
或 filetype on
行之后将以下行添加到 vimrc
:
packadd! nerdtree
packadd! nerdtree-git-plugin
packadd! vim-devicons
开始Vim:
$ vim
vim-devicons
nerdtree-git-plugin
nerdtree
Press ENTER or type command to continue
什么?
好吧……我猜你可以在这里尝试排序,直到你得到想要的顺序,但我认为相反的顺序看起来像个错误。
有时 Vim 插件会建议加载顺序,但 Vim 现在原生支持加载没有插件管理器的插件。您只需将子模块放入 ~/.vim/pack/vendor/start
之类的文件夹中,它就会自动加载。所以,我的问题是你如何确保加载顺序类似于人们以前的加载顺序。旧的做事方式示例如下:
Plug 'preservim/nerdtree' |
\ Plug 'Xuyuanp/nerdtree-git-plugin' |
\ Plug 'ryanoasis/vim-devicons'
让我们来做个小实验……
创建以下具有相应内容的虚拟文件:
Filepath Content pack/dummy/start/nerdtree/plugin/foo.vim
echom "nerdtree"
pack/dummy/start/nerdtree-git-plugin/plugin/bar.vim
echom "nerdtree-git-plugin"
pack/dummy/start/vim-devicons/plugin/baz.vim
echom "vim-devicons"
启动 Vim,您应该会看到如下内容:
$ vim nerdtree nerdtree-git-plugin vim-devicons Press ENTER or type command to continue
符合:
:filter dummy scriptnames 40: ~/.vim/pack/dummy/start/nerdtree/plugin/foo.vim 41: ~/.vim/pack/dummy/start/nerdtree-git-plugin/plugin/bar.vim 42: ~/.vim/pack/dummy/start/vim-devicons/plugin/baz.vim Press ENTER or type command to continue
根据这个实验,我们可以得出结论,内置的“打包”功能将按照文件系统顺序“加载”在 start/
中找到的插件,无论如何,这恰好与规定的顺序相同。当然,您的 文件系统对目录的排序可能与我的不同,所以 YMMV。
理论上,:help :packadd
命令应该允许您从 vimrc
“管理”您的插件,就像使用插件管理器一样。让我们来试验一下……
将
start/
重命名为opt/
:pack/dummy/opt/nerdtree/ pack/dummy/opt/nerdtree-git-plugin/ pack/dummy/opt/vim-devicons/
在任何
syntax on
或filetype on
行之后将以下行添加到vimrc
:packadd! nerdtree packadd! nerdtree-git-plugin packadd! vim-devicons
开始Vim:
$ vim vim-devicons nerdtree-git-plugin nerdtree Press ENTER or type command to continue
什么?
好吧……我猜你可以在这里尝试排序,直到你得到想要的顺序,但我认为相反的顺序看起来像个错误。