分页: 1 / 1

请教,如何让vim/gvim根据不同的文件类型加载不同的插件?

发表于 : 2007-11-16 10:59
wingofcloud
看了几天论坛,根据论坛中兄弟们的指点,下载了一个xml.vim插件,装上后启动gvim,发现菜单多了个xml的菜单,编辑xml文件时也方便了许多,比如敲入“<html>”会自动格式化为“<html>|</html>”。
不过现在发现编辑其他类型的文件时这个插件也会起作用,今天编辑.cpp文件时输入“#include <list>”,结果自动变成了“#include <list>|</list>”,这不是想要的。
我的想法是能不能根据文件的后缀名加载不同的插件?当编辑.xml,.html,.asp等文件时加载这个xml.vim,编辑.cpp时就不加载这个xml.vim,而是别的指定.vim,比如cpp.vim,编辑.py时加载py.vim,请教各位兄弟,如何能完成这样的功能?谢谢!

发表于 : 2007-11-16 11:11
eexpress
:au BufNewFile,BufRead *.html so <sfile>:h/html.vim
au BufNewFile,BufRead *.asm,*.[sS],*.[aA],*.mac,*.lst call s:FTasm()

没试过。估计是类似这样的。

发表于 : 2007-11-16 14:36
wingofcloud
不大明白,能举个例子么? 谢谢

发表于 : 2007-11-16 20:02
liway
不要注释/etc/vim/vimrc中的

代码: 全选

"if has("autocmd")
"  filetype indent on
"endif
看一下可行不。

发表于 : 2007-11-16 21:46
Strange
lz不要把xml.vim放到plugin目录下,就可以不用自动加载
然后用

:au BufNewFile,BufRead *.html so xxx/xml.vim

就可以让读入html文件的时候自动加载xml.vim

发表于 : 2007-11-19 11:11
wingofcloud
谢谢各位,不过还是不行。
用楼上兄弟的方法后,在gvim中用:script看了一下,xml.vim倒是会在编辑.html时在列表中列出,但菜单xml还是没有,xml.vim似乎也没起作用,比如敲入“<html>”不会自动格式化为“<html>|</html>”。