我正在使用重新定义文件类型的插件:
cat ~/.vim/bundle/kdb-vim/filetype.vim
if exists("did_load_filetypes")
finish
endif
augroup filetypedetect
au! BufRead,BufNewFile *.k setfiletype k
au! BufRead,BufNewFile *.q setfiletype q
au! BufRead,BufNewFile *.s setfiletype sql
augroup END
在我的vimrc中:
set nocompatible
filetype off
set rtp+=~/.vim/bundle/vundle
set rtp+=~/.vim/bundle/Align
set rtp+=~/.vim/bundle/Vim-R-plugin
set rtp+=~/.vim/bundle/ctrlp.vim
set rtp+=~/.vim/bundle/minibufexpl.vim
set rtp+=~/.vim/bundle/nerdcommenter
set rtp+=~/.vim/bundle/nerdtree
set rtp+=~/.vim/bundle/syntastic
set rtp+=~/.vim/bundle/ultisnips
set rtp+=~/.vim/bundle/vim-fugitive
set rtp+=~/.vim/bundle/screen
set rtp+=~/.vim/bundle/kdb-vim
set rtp+=~/.vim/bundle/statquantPlugin
filetype plugin on
filetype indent on
syntax on
当我尝试打开*q
文件时,未检测到文件类型。
然后我评论了
if exists("did_load_filetypes")
finish
endif
因此检测到文件,但是当我开始写一些东西并重新打开文件时,将文件类型切换到CONF
。我需要它{I} statquantPlugin
我根据文件类型配置了一些行为。
注意:我无权访问$VIM
目录文件
如果filetype
正确,我该怎么办?
此致
$ cat .vim/bundle/kdb-vim/ftdetect/myFiletype.vim
" my filetype file
"if exists("did_load_filetypes")
" finish
"endif
"augroup filetypedetect
au! BufRead,BufNewFile *.k setfiletype k
au! BufRead,BufNewFile *.q setfiletype q
au! BufRead,BufNewFile *.s setfiletype sql
"augroup END
现在正在工作
答案 0 :(得分:2)
filetype.vim
是主要的文件类型检测脚本;你不应该覆盖它。相反,将(只有au! BufRead,BufNewFile
行,包含后卫和:augroup
放入文件~/.vim/bundle/kdb-vim/ftdetect/myfiletypes.vim
)。请参阅:help ftdetect
。