如何使VIM对不同的文件类型表现不同?

Nic*_*jal 4 vim

我有一些用于键入大括号的字符映射,我希望根据文件的扩展名来表现不同 - 我想这将是非常有用的能力.

关于如何从我的.vimrc或插件中实现这一点的任何想法?

谢谢!

jke*_*ian 14

基本上有两种方式.使用filetype插件,或使用filetype或extension autocommands.

自动命令(放在.vimrc/_vimrc中)采用任一形式

autocmd Filetype cpp set textwidth=100
Run Code Online (Sandbox Code Playgroud)

要么

autocmd BufRead *.cpp,*.h,*.c set textwidth=100
Run Code Online (Sandbox Code Playgroud)

(显然set textwidth=100可以用任何其他命令替换)

更好的解决方案,特别是如果您有很多文件类型的自定义命令,是使用~/.vim/after/ftplugin/<filetype>.vim每个文件类型的文件.加载给定类型的文件后,将执行这些文件中的命令.