病原体忽略ftplugin脚本

时间:2013-01-10 18:03:54

标签: vim pathogen ftplugin

我正在尝试使用Pathogen来管理Vim插件。我在.vim/ftplugins中制作了几个脚本。

我安装了Pathogen,但现在没有ftplugins中的脚本运行。

我尝试使用脚本在.vim/bundle内添加一个目录,但它不起作用(它是.vim/bundle/local/ftplugin/python.vim

任何想法如何让Pathogen加载ftplugin目录中的脚本?

我的.vimrc的第一行:

set nocompatible
syntax on
filetype plugin indent on
"execute pathogen#infect()

只能使用该行注释掉。

我从Bash提示符运行gvim,文件名为第一个参数,如下所示:

$ gvim some/path/somefile.py

我希望在〜/ .vim / ftplugin / python.vim中定义的Python文件的预定义colorscheme以及该脚本中定义的所有其他设置中看到该文件。

〜/ .vim / bundle目录为空。

病原体在〜/ .vim / autoload中,没有更多的东西了。

$ ls ~/.vim/ftplugin/
css.vim  html.vim  javascript.vim  python_pep8.vim  python_pyflakes.vim  python.vim  rst.vim  xml.vim

$ ls ~/.vim
autoload  bundle  colors  doc  ftdetect  ftplugin  plugins  ScrollColor.vim  spell  syntax

3 个答案:

答案 0 :(得分:2)

这是文件类型检测的问题,这是Pathogen issue

我的案例很简单,使用它来启用病原体:

set nocompatible
"execute pathogen#infect()    " breaks filetype detection
call pathogen#runtime_append_all_bundles()

filetype plugin indent on
syntax on

我所做的是删除我的〜/ .vim目录并从一个干净的目录开始。逐个添加内容并检查结果。我意识到它没有检测到正确的文件类型(当我打开空文件检测时没问题,但是在打开现有文件时却没有。)

答案 1 :(得分:1)

在此发表评论:

想知道在:filetype之后放置:syntax:execute来电是否有效?官方README建议在第二部分中执行此操作:第一个:execute,第二个:syntax,第三个:filetype。注意:请勿在@ {du}建议的:execute之前禁用文件类型,只是在调用:execute之前不要启用它:

set nocompatible
execute pathogen#infect()
syntax on
filetype plugin indent on

顺便说一句,never use *map

答案 2 :(得分:0)

我认为我可以看到你的问题,为了示例代码的清晰度,将其放在答案而不是注释中。

试试这个:

" Set the filetype stuff to off, required for Pathogen
filetype off
filetype plugin indent off

execute pathogen#infect()

" You can now turn it on again
filetype on
filetype plugin indent on

而不是您当前的设置。