Как вы можете переключать клавиши j и k в vim?

7

Есть ли способ сопоставить клавишу k с «вниз» и клавишу j с «вверх»? Это кажется мне гораздо более интуитивным, поскольку стрелка вправо также будет перемещать курсор вниз, если он находится в конце строки.

Почему было выбрано это отображение? И почему движение влево / вправо не переносит вас на следующую строку, как в большинстве других редакторов?

Sauce McBoss
источник
1
Википедия предполагает, что вышесказанное следует из ^ h для возврата и ^ j для возврата, по-видимому, с древних времен.
Eroen
6
Существует большое количество приложений, которые следуют стандарту vi / vim. Ты будешь сводить себя с ума.
Zoredache

Ответы:

17

Вы можете сделать это, но это плохая идея ™! Это собирается чтобы причинить тебе горе в будущем.

Тем не менее, если вы не готовы к этому, поместите эти две строки в ~/.vimrc:

:nnoremap j k
:nnoremap k j

Что касается перемещения влево / вправо на линии:

:set whichwrap+=h,l

Увидеть :help 'whichwrap' (с одинарными кавычками) и обратите внимание, что в справке говорится, что это не рекомендуется.

Heptite
источник
1
Спасибо за информацию - супер полезно. Но разве это плохая идея, потому что я запутаюсь в других системах? Я предполагаю, что они были размещены в таком порядке по какой-то эргономической причине или что-то в этом роде. Есть идеи, что это? (Или это просто история, как предлагают комментарии выше?) Спасибо!
Sauce McBoss
5
Путаница - это в основном то, о чем идет речь, но не стоит сбрасывать со счетов это; это станет для вас более серьезной проблемой, чем вы думаете, когда привыкли к своим нестандартным клавишам движения. Есть другие проблемы у вас может столкнуться с самим Vim, возможно, с плагинами, например ..
Heptite
1
Вещи действительно прошли долгий путь с 2012 года! Теперь, когда я привык к раскладке клавиш j и k, я не могу жить без нее. Я на 100% согласен с этим ответом - ПЛОХАЯ ИДЕЯ.
Sauce McBoss