Можно ли изменить автоматическое сопоставление скобок в VIM?

Можно ли изменить автоматическое сопоставление скобок в VIM?

В VIM, когда я печатаю левую скобку, автоматически добавляется соответствующая правая скобка, что нормально. Но если у меня есть строка вроде следующей:

thisVar = count(blue*(red+green)  -  orange + (1*3);

и я хочу добавить правую скобку после (red+green) у меня возникли проблемы. Если я набираю правую скобку, VIM пропускает меня вперед к следующей правой скобке в строке. Единственный способ добавить правую скобку, похоже, добавить возврат каретки, чтобы разделить оператор на две строки, добавить скобку, а затем вернуть ее обратно:

  thisVar = count(blue*(red+green))
  -  orange + (1*3);

затем

  thisVar = count(blue*(red+green))  -  orange + (1*3);

Какой параметр конфигурации необходимо изменить, чтобы VIM не переходил к следующей правой скобке?

решение1

Vim сам по себе так себя не ведет. Вы, должно быть, используете какой-то плагин, который это делает. Выполнение следующей команды должно показать вам, какой плагин сопоставил (.

:verbose imap (

Документация для этого плагина может рассказать вам, как контролировать это поведение, или вы можете полностью отключить использование этого плагина. Где вы найдете документацию и как вы ее контролируете, зависит от плагина. Вы можете найти документацию, выполнив

:help <plugin name>

или просто открыв файл плагина, имя которого было указано в :verboseкоманде выше.

решение2

Чтобы добавить правую скобку в любом желаемом месте, сначала переключитесь в режим вставки, нажав i.

Если vim не находится в режиме вставки, нажатие клавиши )do переместит курсор к следующей правой скобке.

Использовать Escдля существования режима вставки.

PS: Если вышеизложенное не соответствует действительности, пожалуйста, напишите в ~/.vimrcкомментариях /etc/vim/vimrcк вашему вопросу.

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