Vim で左括弧を自動挿入する

Vim で左括弧を自動挿入する

私は Vim で Objective-C をコーディングしようとしていますが、Xcode に欠けているのは、左の対応する括弧を自動挿入する機能です。

次のようなテキストがあるとします。

NSString *string = [NSString alloc] init

行の最後に ']' を挿入すると、次のように完成します。

NSString *string = [[NSString alloc] init]

何か案は?

答え1

それは素晴らしい機能ですね。

使用以外にも囲む正確な解決策は分かりません。

tサラウンドでは、のinitに カーソルを置いた状態から始めますNSString *string = [NSString alloc] init:

  1. vビジュアルモードに入る
  2. F[最初から最後まですべてを選択する[
  3. s]それを囲む[]

vF[s]長期的には面倒になる可能性がありますが、より良い/よりスマートな解決策がない場合は、次のような単純なマッピングを作成できます。

inoremap ]] vF[s]

答え2

このプラグインあなたが探しているものかもしれません。まだ自分できちんと試していませんが、うまく機能しているようです。

たとえば、|カーソルはどこにありますか:

"foo|" becomes "[foo |]" after ] is pressed.
"foo bar|" becomes "[foo bar]|"
"foo: bar|" becomes "foo: [bar |]"
"foo bar: baz|" becomes "[foo bar: baz]|"

特定の便利なキーワードもインテリジェントにラップされます

関連情報