【发布时间】:2013-10-11 05:36:04
【问题描述】:
我的.vimrc 中有这 3 行。
" keeping pathogen only for its 'syntax on' bug workaround
Bundle "tpope/vim-pathogen"
execute pathogen#infect()
我现在一定已经删除并重新添加了这 3 行大约十几次。我使用的是最新版本的 Vim,但由于某些原因,某些语法突出显示无法正常工作。
在 MacOS 上,Go 语法高亮不起作用,而在 Arch Linux 上是。但是在 Arch 上,coffeescript 没有突出显示。出于某种原因,执行pathogen#infect() 可以解决两个平台上的所有问题。
这对我来说有点像黑魔法,所以我想知道为什么会这样。有没有更好的方法来解决这个问题?
答案: 我查看了我的 vimrc,发现了错误。我有这条线
filetype plugin indent on
before Bundle,它应该是 after Bundle。
【问题讨论】:
-
这些的语法文件在哪里(在什么目录下)?
-
我使用 Vundler 来安装它们。例如:捆绑“kchmck/vim-coffee-script”。所以文件然后在 ~/.vim/bundle/vim-coffee-script/ (ftplugin, syntax, etc...)
-
检查
:scriptnames输出何时工作和何时不工作。我怀疑某些语法文件没有加载,当它不工作时 -
谢谢。在这两种情况下,都会加载语法文件,但如果没有 pathpath#infect(),则无法识别文件类型。当没有启动病原体时,似乎没有加载插件的 /ftdetect 文件夹。
-
这三行不是解决方案:问题出在插件管理器(“Vundle”,而不是“Vundler”)或语法脚本中。请向我们展示您的
~/.vimrc的其余部分。
标签: vim