В Vim, как я могу переключать функции "i", "j", "k" и "h"
Мне 5 недель или около того, чтобы изучать Vim для разработки, и, хотя все начинает развиваться, у меня есть одна личная проблема, которая, к сожалению, все еще сбивает меня с толку.
Я постоянно использую "я", чтобы двигаться вверх. "k" внизу, "j" и "l" соответственно слева и справа.
Я знаю, что все это происходит из-за того, что я слишком много лет играю в компьютерные игры, где это были направления движения. Честно говоря, я больше не хочу с этим бороться, и я бы предпочел сделать то, что для меня чрезвычайно естественно. Как я могу переназначить их так, чтобы выше были направления движения, а 'h' - вставка?
2 вопроса: Как я могу постоянно хранить их в своих локальных настройках для разработки на своей собственной машине, и как я также могу быстро переключать их, когда я нахожусь на чужой машине, пока я работаю над ней. Я имею в виду, есть ли набор команд, которые я могу вызвать, и затем они будут удалены, когда я выключу Vim?
2 ответа
Поместите это в файл с именем ~/.vimrc
:
noremap i k
noremap k j
noremap j h
noremap h i
Если вы используете vim на чужом компьютере, вы можете ввести те же четыре команды в командной строке (введите :
перед каждым и введите после каждого), и настройки будут применяться только для 1 сеанса.
Также, no
коротка для noremap
Таким образом, вы можете сократить всю последовательность до
:no i k<enter>:no k j<enter>:no j h<enter>:no h i<enter>
когда вы используете чужой компьютер.
НЕ ДЕЛАЙТЕ ЭТО КАРТИНГ! Это даже хуже, чем с помощью клавиш со стрелками
Прежде всего, я бы посоветовал вам изучить способ перемещения курсора vim.
Вернуться к вашему вопросу, переназначение h,j,k,l
это просто. Тем не менее, нет смысла делать это отображение (и вы не должны делать это), это не заставит вас работать быстрее, это просто сводит вас с ума, когда вы используете vim. Вы знаете, редактирование с помощью vim не означает
- в нормальном режиме просто перемещайте курсор
- войдя в режим INSERT, отредактируйте текст
- вернуться в НОРМАЛЬНЫЙ режим, чтобы сохранить файл
В Vim можно много магии NORMAL
режим (именно поэтому он назывался NORMAL
). с вашим отображением у вас действительно будет головная боль, когда вы захотите применить их. Давайте возьмем пример. Скажем, вы уже установили сопоставления для своих нужд. i,j,k and h
, У нас есть строка:
function foo (String arg)
когда ваш курсор находится между (
а также )
Вы могли бы напечатать ci(
изменить вещи в скобках. Однако ваш i
средства k
, Что случилось бы? текущая строка и строка над ней будут удалены!! Ну, вы могли бы сказать, вы не забудете набрать chw, dhw,ch(,dhw...
Таким образом, вы должны переназначить эти ключи также в вашем уме.:)
Также, когда вы хотите "одолжить" чужой .vimrc
Или используйте некоторые плагины, у вас тоже будут проблемы.
Вы видите точку на простом примере выше. Поэтому, пожалуйста, подумайте дважды, прежде чем переназначить эти основные ключи.