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

Vim、Emacs配置和使用
回复
头像
wingofcloud
帖子: 5
注册时间: 2007-11-16 10:34
联系:

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

#1

帖子 wingofcloud » 2007-11-16 10:59

看了几天论坛,根据论坛中兄弟们的指点,下载了一个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,请教各位兄弟,如何能完成这样的功能?谢谢!
海是龙世界,风为云之翼
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#2

帖子 eexpress » 2007-11-16 11:11

:au BufNewFile,BufRead *.html so <sfile>:h/html.vim
au BufNewFile,BufRead *.asm,*.[sS],*.[aA],*.mac,*.lst call s:FTasm()

没试过。估计是类似这样的。
● 鸣学
头像
wingofcloud
帖子: 5
注册时间: 2007-11-16 10:34
联系:

#3

帖子 wingofcloud » 2007-11-16 14:36

不大明白,能举个例子么? 谢谢
海是龙世界,风为云之翼
liway
帖子: 53
注册时间: 2006-03-01 11:07

#4

帖子 liway » 2007-11-16 20:02

不要注释/etc/vim/vimrc中的

代码: 全选

"if has("autocmd")
"  filetype indent on
"endif
看一下可行不。
头像
Strange
帖子: 1824
注册时间: 2006-05-19 9:54
来自: Shanghai

#5

帖子 Strange » 2007-11-16 21:46

lz不要把xml.vim放到plugin目录下,就可以不用自动加载
然后用

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

就可以让读入html文件的时候自动加载xml.vim
头像
wingofcloud
帖子: 5
注册时间: 2007-11-16 10:34
联系:

#6

帖子 wingofcloud » 2007-11-19 11:11

谢谢各位,不过还是不行。
用楼上兄弟的方法后,在gvim中用:script看了一下,xml.vim倒是会在编辑.html时在列表中列出,但菜单xml还是没有,xml.vim似乎也没起作用,比如敲入“<html>”不会自动格式化为“<html>|</html>”。
海是龙世界,风为云之翼
回复