5

Я пытаюсь написать код Objective-C в Vim, и в Xcode мне не хватает одной возможности - автоматически вставить левую соответствующую скобку.

Скажите, если у меня есть следующий текст:

NSString *string = [NSString alloc] init

и я вставляю ']' в конце строки, затем я хочу завершить его:

NSString *string = [[NSString alloc] init]

Есть идеи?

2 ответа2

3

Этот плагин может быть то, что вы ищете. Я еще не попробовал это должным образом, но это, кажется, делает работу.

Например, где | это курсор:

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

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

2

Это хорошая особенность.

Помимо использования Surround, я не знаю точного решения.

С объемным звучанием, начиная с курсора на t из init в NSString *string = [NSString alloc] init:

  1. v для входа в визуальный режим
  2. F[ выбрать все до первого [
  3. s] чтобы окружить его []

vF[s] может быть утомительным в долгосрочной перспективе, в отсутствие лучшего / более умного решения вы могли бы сделать глупое отображение как:

inoremap ]] vF[s]

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .