2

私はsupertabプラグインとsnipmateプラグインの両方を使用しています。snipmateを使用してifステートメント構造を作成しているとしましょう。ifステートメント内にステートメントを追加し終えたら、ifステートメントの後にカーソルをすばやく移動するにはどうすればよいですか。例えば:

if [ $a = "b" ]; then
  bla;
fi

カーソルがセミコロン上にあり、挿入モードになっている場合。'fi'の後の行にカーソルを移動するために実行できるアクションの最小数はいくつですか?Tabキーを押すと、スーパータブでオートコンプリートウィンドウが開きます。

ありがとう

4

4 に答える 4

3

snipMateを使用している場合は、ファイルタイプに合わせてスニペットを変更することをお勧めします。たとえば、あなたが提供する例は、シェルスクリプトスニペットのようなものに見えます。その場合は、YOUR-VIM-CONFIGURATION-FOLDER / snippets / sh.snippetsを次のような定義に変更します(スニペットの最後に追加のTAB変数を追加します)。

snippet if
  if [ ${1:condition} ]; then
    ${2:#statements}
  fi
  ${3}

snipMateを使用すると、TabキーとShift-Tabキーを使用して、条件、ステートメント、およびifブロックの終わりの間を前後に移動できます。

于 2010-03-09T04:28:04.370 に答える
2

プラグインについてはよくわかりません(私はプラグインを使用していませんが、通常のvimで使用しています):

<Esc>
/fi$
o

$記号は、ほとんどの場合不要である可能性があります。

于 2010-03-08T12:09:53.103 に答える
1

押すだけC-o o

于 2010-03-08T14:15:56.540 に答える
0

次の行でを押しEsc oて挿入モードを開始します。tabしかし、おそらく、スニペットを終了する代わりに他のキーを押すことができるように、スニペットを再構成することができますか?

マップしていない場合は、down矢印キーでカーソルを次の行に移動する必要があります。

于 2010-03-08T22:30:52.917 に答える