在 vundle 的主页上,它记录了它需要在 .vimrc 中关闭文件类型:
filetype off " required!
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
我不明白为什么。由于我最近在为它们单独安装了相关插件(vim-coffee-script 和 vim-less)之后在编辑 .coffee 和 .less 文件时遇到了问题。我在vim-coffee-script上的问题
在 vundle 的主页上,它记录了它需要在 .vimrc 中关闭文件类型:
filetype off " required!
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
我不明白为什么。由于我最近在为它们单独安装了相关插件(vim-coffee-script 和 vim-less)之后在编辑 .coffee 和 .less 文件时遇到了问题。我在vim-coffee-script上的问题
您可以filetype on
在最后一个 Vundle 命令之后设置:
filetype off " required!
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
...
Vundle 'blabla'
Vundle 'blabla2'
filetype plugin indent on " re-enable filetype
我想解决这个问题的部分原因。
这个答案大部分来自以下github线程
https://github.com/VundleVim/Vundle.vim/issues/176
这是 Vim 的特性。
Vim 为来自 runtimepath 的文件类型插件缓存。因此,如果 vundle 更改 runtimepath,它必须在调用之前重置。
那里也说这个问题只在7.3.430之前存在。
正如@Maxim Kim 所回答的那样,最好在与 Vundle 相关的所有内容之后打开它
set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" Let vundle manage itself:
Plugin 'VundleVim/Vundle.vim'
" Syntax checking plugin
Plugin 'scrooloose/syntastic'
call vundle#end()
filetype plugin indent on " Filetype auto-detection
syntax on " Syntax highlighting
这是您的WHY的答案,我从 Vundle 的贡献者那里得到的。基本上,他的意思是您需要关闭以避免在命令运行时出现意外行为。之后,您可以重新打开它。Bundle
捆绑块之后。必须在 Bundles 块之后启用文件类型检测,因为每个 Bundle 命令都会更新运行时路径,这可能会为特定文件类型带来新的文件类型或更多插件。似乎打开它,当它打开时,什么都不做,所以必须先关闭它。
如果您因为它影响某些文件类型检测而不愿意将其关闭,请尝试使用更新的 vim 版本,第 430 个补丁(很不幸,Ubuntu 只获得了该补丁之前的补丁。)