2015-08-26 51 views
0

我基本上想要vim在C++头文件上使用命令,并且只在C++头文件上使用。我怎样才能做到这一点?只为C++头文件设置vim文件类型脚本

我试图把~/.vim/ftplugin/hpp.vim中的命令无效,因为hpp文件被Vim视为cpp文件。

回答

2

在你~/.vim/ftplugin/cpp.vim

if expand('%:e') ==? 'hpp' 
    " your script here 
endif 

更妙的是:

if expand('%:e') =~? '\v^h%(pp|h|\+\+|xx)?$' 
    " your script here 
endif 
+0

别忘了.hh这是.cc的挂件也用于C++。 vim如何检测没有扩展名的文件的语言? –

+1

@FelixBytow编辑,谢谢。扩展名只是确定文件类型的一种方式,查看文件的开头是另一种方式。还有其他的方法。如果您好奇,请参阅运行时目录中的文件'filetype.vim'。 –

0

使您的HPP文件的文件类型是公认的HPP您应该添加

autocmd BufEnter *.hpp :setlocal filetype=hpp 

到你的vimrc

然后可以使用~/.vim/ftplugin/hpp.vim把你的具体命令

+0

你的方法可行,但也消除了语法高亮。 – StAlRuth