vimrc поменяйте местами точку с запятой и двоеточие, но оставьте двоеточие неизменным в других <map>с - PullRequest
9 голосов
/ 31 марта 2012

у меня

noremap ; :
noremap : ;

Установите как попытку заставить меня использовать более короткое нажатие клавиши, чтобы получить двоеточие. Однако из-за этого мои другие сопоставления не работают, поскольку теперь вместо двоеточия ставится точка с запятой.

map ,c :cd ~/code<CR> например становится map ,c ;cd ~/code<CR>, поэтому не работает. Как я могу это исправить? Спасибо!

1 Ответ

8 голосов
/ 31 марта 2012

Команды семейства :map позволяют использовать отображения в определение нового отображения (включая его). Это делает рекурсивным и вложенные отображения возможны, когда это необходимо. Вот почему отображение толстой кишки применяется к другим сопоставлениям, имеющим двоеточие, например

:map ,c :cd ~/code<cr>

Чтобы избежать такого поведения, используйте семейство команд :noremap, которые делают не интерпретировать какие-либо отображения в правой части отображения определение (см. :help :no):

:noremap ,c :cd ~/code<cr>

В большинстве случаев вмешательство в другие отображения является нежелательной стороной. эффект. Как правило, я бы порекомендовал Следующее соглашение при представлении сопоставления: Используйте :noremap функции, если нет явной причины не.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...