| ч11. сопоставления {*noremap}, дополнение | Содержание | ч13. Локальные буферы и сопоставления |
Прежде чем дальше говорить о том, как более эффективно изучать Vim, нам нужно немного подготовиться.
Давайте настроим еще одно сопоставление. И это будет самое "заботливое" сопоставление. Выполните следующую команду:
:inoremap kj <esc>
Теперь перейдите в режим вставки и введите < kj >. Vim будет действовать так, как если бы вы нажали клавишу escape, таким образом вы перейдете назад в обычный режим.
По умолчанию в Vim существует несколько способов выхода из режима вставки:
- < escape >
- < ctrl - c >
- < ctrl - [ >
Каждый из них требует от вас неудобного растягивания пальцев. Использование же < kj > гораздо удобней, потому что клавиши находятся прямо под вашими пальцами. Это ведь и быстрее, да и промахнуться по клавишам сложнее.
Некоторые люди предпочитают использовать < jj > вместо < kj >, но я предпочитаю < kj > и вот почему:
Если вы по привычке нажмете < kj > в обычном режиме то вы переместитесь вверх, а затем вниз, таким образом вы останетесь там где были. Использование < jj > в обычном режиме переместит вас в другое место.
Изучаем сопоставления
Теперь, у нас есть отличное новое сопоставление < kj >,но как же научиться им пользоваться? Скорее всего, у вас на подкорке уже отложилась клавиша escape, поэтому скорее всего вы продолжаете ее использовать даже не задумываясь об этом. Давайте это исправим :)
:inoremap <esc> <nop>
Эта команда отключает клавишу escape в режиме вставки, сообщая что Vim при выполнении escape не должен ничего делать ( < nop > без операции). Теперь у нас не остаётся другого выбора кроме как использовать наше новое сопоставление < jk > для выхода из режима вставки.
Теперь когда вы нажмете на escape не будет ничего происходить, по началу это конечно будет неприятно, но через час или два вы уже забудете про случайные нажатия на escape.
Эта идея применима к любому новому сопоставлению, которое мы создавали для замены старого. Если вы хотите изменить привычку, сделайте её сложной или невозможной!
Например если вы хотите бросить курить, всегда оставляйте сигареты в багажнике своего автомобиля. Когда вам захочется выкурить сигарету, вы подумаете о том, какой занозой в заднице будет идти к машине (а если она еще будет на парковке), то вряд ли будете утруждать себя этим.
Упражнения
Если вы все еще используете клавиши со стрелками для навигации по Vim в обычном режиме, сопоставьте их <nop>, чтобы избавиться от этой дурной привычки.
Если вы все еще используете клавиши со стрелками в режиме вставки, сопоставьте их <nop> и там. Правильный способ использования Vim - это как можно скорее выйти из режима вставки и использовать обычный режим для перемещения.
| ч11. сопоставления {*noremap}, дополнение | Содержание | ч13. Локальные буферы и сопоставления |