我正在尝试安装 Go Vim 插件以及gocode
。
安装顺利完成,我的所有脚本现在都在里面~/.vim
。
但不知为何它们无法加载...我用 :scriptnames 检查了一下。相反,像ruby.vim
from 这样的脚本/usr/share/vim/vim73/syntax
被安装了...但是那个“语法”文件夹中有几十个 .vim 文件,为什么 ruby.vim 会被安装?无论如何......
几乎没有任何东西会从 ~/.vim 安装。事实上,仅有的gofiletype.vim 出现在 :scriptnames 中。(除了使用 vundle.vim 安装的所有内容之外。)
:echo $VIMRUNTIME
显示 /usr/share/vim/vim73
(为什么不是这样?这很糟糕吗?如果它不是运行时目录,~/.vim
为什么它仍会加载一些插件……)~/.vim
这些文件夹存在于我的~/.vim
:autoload
,,,,,,。bundle
ftdetect
ftplugin
indent
syntax
我觉得我错过了一些关于如何安装东西的基本细节,文档只是说把所有东西都放进去plugin/
,但事实并非如此
答案1
像 ruby.vim 这样的脚本之所以被调用,是因为 Vim 检测到它正在编辑一个文件类型为 ruby 的文件。文件类型通常根据 $VIMRUNTIME/filetype.vim 中的规则从文件名中确定,尽管文件内容也可用于确定文件类型。
ftplugin、syntax 和 indent 目录中的文件根据当前缓冲区的文件类型以及 :filetype 命令是否启用了该类型插件的加载来加载。无论正在编辑的文件类型如何,插件目录中的文件都会在 Vim 启动时加载。
当 Vim 加载插件时,它会搜索 'runtimepath' 中的所有目录。$VIMRUNTIME 只是其中一个目录,~/.vim 也是如此。
您的 ~/.vim 目录下的目录看起来正确,只是缺少插件并且捆绑包不是标准的——它不是 Vim 会自动查找的目录。
Vim 不会直接在 ~/.vim 目录中查找任何插件文件。所有插件文件都放在 ~/.vim 的子目录中。因此,如果您将任何插件直接放在 ~/.vim 下,它们将不会被看到。它们可能应该放在 ~/.vim/plugin 下。
您可以在这里阅读有关这些问题的更多信息:
:help 05.4
:help runtimepath
:help startup