2009-06-16 10 views
2

私はキー ';'をマップするvimキーマッピングを設定しようとしています。 〜にA; - つまり、私は ';'を自動的に追加したいラインの終わりまでしかし、私はこのマッピングを設定するのが難しいです。可能であれば、これをjavaファイルだけに制限したいと思います。これはできますか?vim mapping

おかげ

答えて

1

マッピング自体がこのように行われる:マッピングのみ動作しますので、

:map ; A;<esc> 

を私は、(それはあなたを気にしてはいけません、あなたの.vimrcに次の行を置くことをお勧めしますし、それと一緒に暮らすでしょうコマンドモードで)。

map ; $a;cntl-vESC 

が、その後

私は」を返すヒット:あなたは本当に特定のファイルに、この動作を制限する必要がある場合、あなたは何について、迅速な実装としてautocmd機能(:help autocmd

0

を検討する必要がありますJavaファイルのみでこれを有効にすることを考えてみましょう。

4

この機能をjavaバッファーに制限する場合は、ftpluginsを見てください。 マッピング、その後は次のようになります。それは(あまりにも多くのvimmersが:*map代わりの:*noremapを使用している)他のひどく定義されたマッピングに使用することができる非常に便利なコマンドですよう

ところで
nnoremap <buffer> ; A;<esc> 

、私は「;」にマッピングに対して助言します。

+0

+1。この答えをよりよくする重要な点は、ノーマルモードと「ノー」の使用のみに定義されたマッピングです。 – user55400

+0

+1が合意しました(15chars15chars15chars) – soulmerge

+0

あなたは ':' '' 'の上に' ';' 'が既存の組み込みコマンドを混乱させると言っていますか? –

2
リュックHermitteが言ったように

使用ftpluginsまたは

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

あなたの.vimrcに以下を追加します〜/て.vim// ftplugin/java.vim

nnoremap <buffer> ; A;<Esc>

後の今、このマッピングでこれを入れてjavaバッファのみに対してローカルでなければならない