Автоматическая вставка левой скобки в Vim

Автоматическая вставка левой скобки в Vim

Я пытаюсь написать код на Objective-C в Vim, и мне не хватает в 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]|"

Некоторые полезные ключевые слова также грамотно упакованы.

Связанный контент