1

私は PHP と Javascript をよく使用します(が、行の途中に開き括弧を追加して (関数などを呼び出して)、行末に移動して閉じる必要があることがよくあります.. .

例(編集前):

array(
  'key' => 'value sometimes long and with \',() in string',

例 (最初の編集後 - 閉じ括弧で挿入モードを終了)):

array(
  'key' => Class::method('value sometimes long and with \',() in string',
                        ^ cursor here after exiting insert mode

挿入モードでの希望のカーソル位置:

array(
  'key' => Class::method('value sometimes long and with \',() in string',
                                     cursor before comma in insert mode ^

明らかに$hi、行末に移動し、1 文字前に移動してA<挿入モードに入ることができます... または、EOL で挿入モードに入り、1 つの場所に左矢印を入れることもできます。

これを行うためのより簡単な/より良い方法を誰かが知っているかどうか疑問に思っていましたか?

さらに良いことに、最後の文字がコンマまたはセミコロンであるかどうかを「認識」し、最後の文字に移動し、最後の文字がコンマまたはセミコロンの場合にのみ左に移動する単純な関数を想像しています。

擬似コードのアイデア:$("am I on a comma or semicolon" ? h : )i

4

3 に答える 3

4

Tim Pope によるiClass::method<Esc>lva'S)優れたSurround.vimプラグインを使用します。

于 2012-08-15T06:05:15.363 に答える
2

TextMate 時代に自動文字ペアリングに慣れました。Vim にはその機能を提供するプラグインがたくさんあります。DelimitMate を使用しています。

アイデアは()[]{}''""、最初の文字を入力したときにペアを自動的に閉じることです。そうすれば、あなたが話している体操をする必要はありません。

于 2012-08-15T05:53:34.997 に答える
2

私が考えることができる唯一の標準的なキー シーケンスCtrl-oは、1 回限りの通常のコマンドを実行するために使用するものです。たとえばCtrl-o$Left、あなたを正しい位置に連れて行きます。持っているimap <C-b> <Left>場合は、ホームの列を離れずにこれを行うことができます。

于 2012-08-15T03:02:43.647 に答える