题
我正在尝试设置一个将映射键';'的vim键映射到A; - 即我想自动附加';'到最后一行。但是我很难设置这个映射。如果可能的话,我还想将此限制为仅限于java文件。可以这样做吗?
由于
解决方案
映射本身就是这样完成的:
:map ; A;<esc>
我建议把这行放在.vimrc中并使用它(它不应该打扰你,因为映射只能在命令模式下工作)。如果您真的必须将此行为限制为某些文件,则需要查看 autocmd
函数(:help autocmd
)
其他提示
如果要将此功能限制为java缓冲区,请查看ftplugins。 然后映射变为:
nnoremap <buffer> ; A;<esc>
顺便说一句,我建议不要映射';
',因为它是一个非常有用的命令,可用于其他严格定义的映射(太多的vimmers正在使用:* map 代码>而不是:* noremap
)。
使用ftplugins作为Luc Hermitte说或将以下内容添加到.vimrc
autocmd filetype java :nnoremap <buffer> ; A;<esc>
将它放在〜/ .vim / after / ftplugin / java.vim
中nnoremap <buffer> ; A;<Esc>
现在这个映射应该只对java缓冲区是本地的
作为一个快速实现,如何:
map ; $a;cntl-vESC
然后点击返回
我会考虑只为Java文件启用它。
不隶属于 StackOverflow