病原体不会加载插件

ska*_*lee 50 vim vim-plugin

病原体对我不起作用.我跟随Adam Lowe在这里发布的提示(还有更多)没有任何成功......

我的vimrc:

filetype off
call pathogen#runtime_append_all_bundles()

filetype plugin indent on
set nocompatible
syntax on
set tabstop=2
set smarttab
set shiftwidth=2
set autoindent
set expandtab
set number
colorscheme darkblue
Run Code Online (Sandbox Code Playgroud)

.vim的内容 - ls .vim/*:

.vim/autoload:
pathogen.vim

.vim/bundle:
nerdcommenter/  vim-haml/   vim-surround/
vim-endwise/    vim-rails/  vim-vividchalk/
Run Code Online (Sandbox Code Playgroud)

通过将它们从GitHub克隆到bundle目录中来安装bundle中的所有插件.

我尝试过使用病原体1.1和1.2,甚至是最新的GitHub,没有任何结果.Vividchalk,Vim-rails和nerdcommenter无法正常工作.我对其他插头的经验很少,所以我不确定它们,但我想它们也没有用.

我正在使用ArchLinux,vim 7.2.385-1(不是最新的,因为最新版本要求我安装ruby1.9,但它仍然是7.2).它已经通过pacman-ArchLinux软件包管理器安装.除了使用病原体之外,没有安装vim插件(我甚至重新安装了带有清洁功能的vim包/usr/share/vim).

我究竟做错了什么?

编辑:

Dav*_*Ray 31

这似乎是filetype on在设置病原体之前在某些分布设置中由"系统"vimrc引起的常见问题.因此将其关闭并重新打开会强制插件正确加载:

 call pathogen#runtime_append_all_bundles()
 filetype off
 syntax on
 filetype plugin indent on
Run Code Online (Sandbox Code Playgroud)

更多信息在这里.

  • `call pathogen#infect()`可以在最新版本的病原体中使用,现在处理这个`filetype`问题(并且比`runtime_append_all_bundles`更容易记忆和输入). (14认同)

fio*_*ual 24

我遇到了类似的问题.病原体加载了我的一些插件,而不是全部.经过一些摆弄和想知道我发现(我不知道文档中是否提到它)在每个bundle/'plugin_name'文件夹中,应该有另一个名为plugin包含*.vim文件的文件夹.

然后,当vim启动时,不是在bundle中,而是在包含一个名为plugin的文件夹的bundle中的那些文件夹中...并将创建其他文件夹(在每个插件文件夹中).

所以,如果插件只是一个.vim文件,请为它创建一个文件夹......

代替:

~/.vim/bundle/vimexplorer/vimExplorer.vim
Run Code Online (Sandbox Code Playgroud)

你需要:

~/.vim/bundle/vimexplorer/plugin/vimExplorer.vim
Run Code Online (Sandbox Code Playgroud)

一切都像一个魅力.


小智 14

我在加载特定插件时遇到了问题:具体来说,插件有一个plugin子目录.例如,在新的MacVim安装中~/.vim/bundle/surround/plugin/surround.vim,即使~/.vim/bundle/surround出现在输出中,也没有加载插件:scriptnames.

问题是我正在加载病原体而.gvimrc不是.vimrc.无论出于何种原因,.vim/bundle/*/plugin如果您这样做,子目录中的内容将无法加载,因此请执行此操作.vimrc!

我在github上打开了一个问题 - 我不知道它是否可以工作,即使它加载.gvimrc,但至少应该在像我这样的白痴文档中的某种警告.

  • 将这些行从`.gvimrc`移动到`.vimrc`让它对我有用.`call pathogen#infect()``filetype plugin indent on` (3认同)

jht*_*ong 11

如果.vim基于git repo和子模块,请记住DO REMEMBER运行git submodule initgit submodule update在克隆repo之后.即

git submodule init
git submodule update
Run Code Online (Sandbox Code Playgroud)

我有同样的错误,并尝试了以上所有,但它没有奏效.直到我初始化并更新了git子模块.

希望这对任何有类似错误的人都有帮助.


Rob*_*let 6

也许Arch的默认vimrc(可能/etc/vim/vimrc)与Pathogen的效果不佳.尝试启动Vim而不加载配置文件:

vim -u NONE
Run Code Online (Sandbox Code Playgroud)

然后从vim中加载你的vimrc:

:so ~/.vimrc
Run Code Online (Sandbox Code Playgroud)

那么插件工作呢?

  • 这解决了我的问题:http://blog.darevay.com/2010/10/a-brief-note-on-pathogen-for-vim/ (5认同)
  • 你有没弄明白如何解决它?我现在使用Ubuntu遇到同样的问题. (4认同)
  • @Christian Joudrey,你给的链接已经死了. (2认同)

Fig*_*ine 5

通过github提出问题后由(mattn&tpope)修复

set nocp
call pathogen#infect()
syntax on
filetype plugin indent on
call pathogen#infect()
Run Code Online (Sandbox Code Playgroud)

请参阅https://github.com/tpope/vim-pathogen/issues/50#issuecomment-3137909


Abi*_*ern 0

我把它放在我的里面:

沉默的!调用病原体#runtime_append_all_bundles()