如何触发 VIM 对 .js 或 .pl 文件的自动命令键映射

如何触发 VIM 对 .js 或 .pl 文件的自动命令键映射

使用 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。在自动命令中,将 更改jsjavascriptpl更改为perl。您可以在 中找到 Vim 从扩展名到文件类型的映射$VIMRUNTIME/filetype.vim

相关内容