在 Vim 中自動插入左括號

在 Vim 中自動插入左括號

我正在嘗試在 Vim 中編寫一些 Objective-C 程式碼,而 Xcode 中我缺少的一件事是自動插入左匹配括號的能力。

假設我有以下文字:

NSString *string = [NSString alloc] init

我在行末尾插入“]”,然後我希望它完成:

NSString *string = [[NSString alloc] init]

有任何想法嗎?

答案1

這是一個很好的功能。

除了使用環繞,我不知道確切的解決方案。

對於環繞,從遊標位於tin開始initNSString *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]|"

某些有用的關鍵字也被智慧包裝

相關內容