2009-06-16 93 views
2

我想设置一个vim键映射,它将映射键';'到A; - 即我想自动追加';'到行的末尾。但是我很难设置这个映射。如果可能的话,我也想限制它只适用于java文件。这可以做到吗?vim映射

感谢

回答

1

映射本身是做这种方式:

:map ; A;<esc> 

我建议把此行的.vimrc和忍受它(它不应该打扰你,因为映射仅适用于在命令模式下)。如果你真的必须限制这种行为对某些文件,你需要寻找到autocmd功能(:help autocmd

0

作为一个快速的实现,怎么样:

map ; $a;cntl-vESC 

然后打回

我我会考虑只为Java文件启用它。

4

如果你想限制这个功能到java缓冲区,看看ftplugins。 映射然后变成:

nnoremap <buffer> ; A;<esc> 

顺便说一句,我建议不要映射上“;”,因为它是可在其他严重定义的映射中使用的非常有用的命令(太多的Vimmer正在使用的:*map代替:*noremap) 。

+0

+1。重要的一点,使这个答案更好:映射只定义为正常模式和使用“nore”。 – user55400 2009-06-16 13:01:56

2

使用ftplugins作为吕克Hermitte说或添加

autocmd filetype java :nnoremap <buffer> ; A;<esc> 
0

在〜/ vim的/将这个下面给你的.vimrc后/文件类型插件/ java.vim里

nnoremap <buffer> ; A;<Esc>

现在这个映射应该是本地的java缓冲区只有