Vim 好像可以任意安装脚本?

Vim 好像可以任意安装脚本?

我正在尝试安装 Go Vim 插件以及gocode

安装顺利完成,我的所有脚本现在都在里面~/.vim

但不知为何它们无法加载...我用 :scriptnames 检查了一下。相反,像ruby.vimfrom 这样的脚本/usr/share/vim/vim73/syntax被安装了...但是那个“语法”文件夹中有几十个 .vim 文件,为什么 ruby​​.vim 会被安装?无论如何......

几乎没有任何东西会从 ~/.vim 安装。事实上,仅有的gofiletype.vim 出现在 :scriptnames 中。(除了使用 vundle.vim 安装的所有内容之外。)

:echo $VIMRUNTIME显示 /usr/share/vim/vim73

(为什么不是这样?这很糟糕吗?如果它不是运行时目录,~/.vim为什么它仍会加载一些插件……)~/.vim

这些文件夹存在于我的~/.vimautoload,,,,,,。bundleftdetectftpluginindentsyntax

我觉得我错过了一些关于如何安装东西的基本细节,文档只是说把所有东西都放进去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

相关内容