使用 VIM(具体来说是 MacVim),我一直尝试向我的 .vimrc 文件添加一些在不同语言中具有不同语法的快捷方式。
我正在使用自动命令根据文件类型添加不同的键映射,但是 javascript 和 perl 文件类型 .js 和 .pl 没有获取映射。
我尝试用 / 注释掉一个视觉选择的块(并用 ? 取消注释):
autocmd FileType php,js,java,cpp vnoremap <buffer> / :s/^/\/\/ /<cr>gv
autocmd FileType php,js,java,cpp vnoremap <buffer> ? :s/^\s*\/\/ \?//<cr>gv
autocmd FileType sql vnoremap <buffer> / :s/^/-- /<cr>gv
autocmd FileType sql vnoremap <buffer> ? :s/^--\s\?//<cr>gv
autocmd FileType pl vnoremap <buffer> / :s/^/## /<cr>gv
autocmd FileType pl vnoremap <buffer> ? :s/^\s*##\s\?//<cr>gv
这适用于 php、java、cpp 和 sql 文件,但不适用于 pl 和 js 文件。
答案1
Vim 的文件类型名称不一定与扩展名相同。javascript 的文件类型名称为 ,javascript
而 perl 的文件类型名称为perl
。在自动命令中,将 更改js
为javascript
和pl
更改为perl
。您可以在 中找到 Vim 从扩展名到文件类型的映射$VIMRUNTIME/filetype.vim
。