2009-06-16 118 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緩衝區只有