我想把vim配置的适用一点,识别不同文件的后缀,然后在文件开头加上相应的头文件什么的。
可是配置好了发现一直识别不出来*.h 和*.cpp文件不知道具体是什么原因
源码如下:
autocmd BufNewFile *.c,*.h,*.cpp,*.sh,*.java exec ":call SetTitle()"
""定义函数SetTitle,自动插入文件头
func SetTitle()
"如果文件类型为.sh文件
if &filetype == 'sh'
call setline(1,"\#########################################################################")
call append(line("."), "\# File Name: ".expand("%"))
call append(line(".")+1, "\# Author: Wa")
call append(line(".")+2, "\# mail: aaaaaaa@126.com")
call append(line(".")+3, "\# Created Time: ".strftime("%c"))
call append(line(".")+4, "\#########################################################################")
call append(line(".")+5, "\#!/bin/bash")
call append(line(".")+6, "")
else
call setline(1, "/*************************************************************************")
call append(line("."), " > File Name: ".expand("%"))
call append(line(".")+1, " > Author: Wa")
call append(line(".")+2, " > Mail: aaaaaa@126.com ")
call append(line(".")+3, " > Created Time: ".strftime("%c"))
call append(line(".")+4, " ************************************************************************/")
call append(line(".")+5, "")
endif
if &filetype == 'c'
call append(line(".")+6, "#include<stdio.h>")
call append(line(".")+7, "")
elseif &filetype == 'h'
call append(line(".")+6, "#include<stdio.h>")
call append(line(".")+7, "")
elseif &filetype == 'cpp'
call append(line(".")+6, "#include<iostream>")
call append(line(".")+7, "using namespace std;")
call append(line(".")+8, "")
elseif &filetype == 'java'
call append(line(".")+6,"public class ".expand("%"))
call append(line(".")+7,"")
endif
"新建文件后,自动定位到文件末尾
autocmd BufNewFile * normal G
endfunc
把配置文件copy到别的主机上也出现同样的问题,a.java都可以识别后自动插入,但总是无法识别*.h文件。
求指导