2017-01-03 5 views
0

私は入力位置を離れてvimを使ってすべてを達成する必要はないというのが本当に好きです。しかし、私はある種のポイントで右の矢印を使う必要があることが分かります。私は頻繁に私の自己は、これをやって見つける挿入モードを残さずに右に1つだけ移動するショートカット

if (boolean) 

は、括弧内の式を終えた後、私は行の終わりまでまたは<right arrow>または<shift><4>a

移動する<Esc>laを行う必要が行うには任意のトリックはあります挿入モードで右矢印と同じことをそれまでに移動する必要はありませんか?

私はその組み合わせをcapslockにマッピングすることを考えています。しかし、よりエレガントな方法がありますか?

+2

」と「」に何の問題がありますか? – romainl

+1

@romainl vimを使っている人は、一般にこれらの矢印キーの使用をお勧めしません。 – Bobby

+0

la」と「 $ a」は、「 A」に少し簡略化することができます。挿入モードでの移動は非常に面倒です。あなた自身のマッピングが必要な場合を除いて、矢印キーを使用することをお勧めします。 –

答えて

1

私は私のvimrcでこれを持っている:

inoremap <c-l> <esc>%%a 

これは、現在のブラケットペアの右側にあなたをもたらし、そして挿入モードを保持します。

foo(bar(bla(whateverI))) "I is cursor, type Ctrl-l 
foo(bar(bla(whatever)I)) 
+0

ありがとう!私が望んでいたもの – Bobby

1

あなたは、任意の通常モードのコマンドを実行した後、あなたが挿入モードに再び戻ってくる挿入モードでCTRL +Oを使用することができます。


彼らはすでに挿入モード時のショートカットをデフォルトにしている矢印キーで上下の場合:アップ

CTRL + GダウンK

CTRL + GJ

+0

私はまだ3つ以上のキーを押してしまうことを意味しますか? – Bobby

+0

次に矢印キーを使用するように指を訓練し、そうでない場合はマッピングを追加します。 –

1

私はauto-pairs pluginを使用します。それの後にカーソルを移動しますクロージングペアを打つすべてのペアグッズの他に

、:

input : if (boolean|) (press) at |) 
output: if (boolean)| 

input : function({ foo: 'bar'| }) (press } at |) 
output: function({ foo: 'bar' }|) (press) at |) 
final : function({ foo: 'bar' })| 
1

ほとんどのブラケティングのプラグインは、過去の移動次の閉じ括弧文字を終了する方法(/秒)(複数可)を提供。ここでは、通常、)を打つことで十分でした。いくつかの古いプラグインは、ブラケットペアとは別にCTRL+Jを使用していました。

ブラケットプラグインを使用している場合は、ドキュメントを読んでください。コントロールステートメントを埋め込むスニペットプラグインを使用する場合は、スニペットが正しく定義されている場合は、次のプレースホルダー(ここではifに関連付けられたアクション)に直接ジャンプする方法も必要です。ほとんどのプラグインはtabを使用し、鉱山はデフォルトで<c-j>または<M_del>を使用します。

制御文を挿入する略語がある場合は、10年以上前にさらに進化したプラグインで定義したものが欠落しています。ブラケットのバランスをとることは、愚かなエラーを避けるためにはうれしいですが、閉じ括弧の後ろに行く方法がなくても、実際には逆効果のPITAです。

PS:私たちのキーボードの効率性は、完全な機能を使用する必要があります。つまり、矢印キーが使用されるのを待っています。

関連する問題