26

在 vundle 的主页上,它记录了它需要在 .vimrc 中关闭文件类型:

 filetype off                   " required!
 set rtp+=~/.vim/bundle/vundle/
 call vundle#rc()

我不明白为什么。由于我最近在为它们单独安装了相关插件(vim-coffee-script 和 vim-less)之后在编辑 .coffee 和 .less 文件时遇到了问题。我在vim-coffee-script上的问题

4

3 回答 3

29

您可以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
于 2013-06-11T13:39:09.253 回答
12

我想解决这个问题的部分原因。

这个答案大部分来自以下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
于 2016-12-07T14:26:35.820 回答
0

这是您的WHY的答案,我从 Vundle 的贡献者那里得到的。基本上,他的意思是您需要关闭以避免在命令运行时出现意外行为。之后,您可以重新打开它。Bundle

捆绑块之后。必须在 Bundles 块之后启用文件类型检测,因为每个 Bundle 命令都会更新运行时路径,这可能会为特定文件类型带来新的文件类型或更多插件。似乎打开它,当它打开时,什么都不做,所以必须先关闭它。

如果您因为它影响某些文件类型检测而不愿意将其关闭,请尝试使用更新的 vim 版本,第 430 个补丁(很不幸,Ubuntu 只获得了该补丁之前的补丁。)

于 2020-11-06T06:36:10.193 回答