Я совсем новичок в vim, и мне не нравится, что основные кнопки перемещения отображаются на hjkl
, поскольку h
и j
должны нажиматься одним и тем же пальцем. Я использую венгерскую клавиатуру, которая имеет еще 3 символа справа от l
: éáű
, поэтому я хотел бы воспользоваться этим и переназначить эти клавиши. Однако vim, похоже, не распознает эту команду: noremap é l
. Как мне этого добиться?
1 ответ
Страница vim использует nnoremap
с двумя "n" в начале вместо одного.
http://vim.wikia.com/wiki/Mapping_keys_in_Vim_- Учебник(Часть_1)
У меня нет венгерской клавиатуры, но с русской раскладкой мне удалось получить
nnoremap э l
Чтобы заставить Э передвинуть 1 персонажа вправо.
редактировать
Vim (классно) - модальный редактор, то есть он ведет себя по-разному в разных режимах, и вы переключаетесь между ними.
Приведенная выше команда выполняет сопоставление клавиш для "нормального" режима, который, по-видимому, означает "перемещаться и ничего не делать"
В этой таблице показаны доступные команды сопоставления для различных режимов.
Commands Mode
-------- ----
nmap, nnoremap, nunmap Normal mode
imap, inoremap, iunmap Insert and Replace mode
vmap, vnoremap, vunmap Visual and Select mode
xmap, xnoremap, xunmap Visual mode
smap, snoremap, sunmap Select mode
cmap, cnoremap, cunmap Command-line mode
omap, onoremap, ounmap Operator pending mode
Чтобы заставить работать что-то вроде 2dk
, вам нужно выполнить сопоставление для "Режим ожидания оператора":
onoremap э l
"Режим командной строки" не делал то, что я хотел - что я имел в виду, когда пытался набрать "э" для следующей команды переназначения, вместо этого я получил "l".
Я думаю, что вы, вероятно, не хотите переназначать с режимом "Вставить и заменить". Но вы можете поэкспериментировать с одним или обоими режимами "Визуальный" и "Выбор".