В 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
к вашему вопросу.