使用vim+ctag+taglist编写程序时,为了方便创建新文件时不用一直写各种头文件,会在.vimrc中事先定义好各类文件的模板。
网上一大堆定义各种配置的,但是在用到*.c,.cpp,.h时,定义
if &filetype ==‘h’
会识别不出头文件,.h头文件会自动归类到.CPP或者.c文件中,可能是vim自带归类,这个我也不清楚是什么问题。网上有将识别h头文件语句改为
if expand("%:e")==‘h’
试了一下会显示出部分自定义的模板内容,但是还是会和.cpp或者.c文件模板重合。个人理解是识别出了.h的后缀扩展名但是vim还是把.h文件归类到c或者c++文件中,搞了一下午没有解决。
晚饭回来突发奇想,不用vim自带的文件识别,但是网上有写的自定义识别文件的又看不懂,干脆不识别文件类型,只识别后缀扩展名好了。于是乎:
if expand("%:e")==‘c’
…
endif
if expand("%:e")==‘cpp’
…
endif
if expand("%:e")==‘h’
…
endif
ok!完美解决。
还有就是定义模板的时候需要每一行连续定义,空着的就用" "表示,中间如果有一行没有定义会断掉。
ps:我也不知道是系统识别不出.h文件还是vim识别不出,反正就是不行。