为什么病原体“神奇地”解决了Vim语法高亮问题?

时间:2013-10-11 05:36:04

标签: vim

我的.vimrc中有这三行。

" keeping pathogen only for its 'syntax on' bug workaround
Bundle "tpope/vim-pathogen"
execute pathogen#infect()

我现在必须已经删除并重新添加了这三行。我使用的是最新版本的Vim,但由于某些原因,某些语法高亮显示无法正常工作。

在MacOS上,Go语法突出显示不起作用,而在Arch Linux上则是如此。但在Arch上,coffeescript未突出显示。出于某种原因,执行pathogen#infect()解决了两个平台上的所有问题。

对我来说有点像黑魔法,所以我想知道为什么会这样。有没有更好的方法来解决这个问题?

答案: 我查看了我的vimrc,发现了错误。我有这条线

filetype plugin indent on

before Bundle's,应该是after Bundles。

1 个答案:

答案 0 :(得分:3)

默认情况下,Vim在启动时不会查找.vim / bundle目录。所以这意味着你的“ftdetect”将不会加载。

Pathogen查看每个bundle目录并加载它们。

如果你想亲眼看看,请启动Vim两次,一次启动,一次启动,不启动pathogen:infect(),然后在启动后输入:scriptnames。您将看到已加载脚本的列表。

在调用:redir之前,您甚至可以执行:scriptnames将输出写入文件,以获取加载脚本的确切差异。