1

Я совсем новичок в vim, и мне не нравится, что основные кнопки перемещения отображаются на hjkl , поскольку h и j должны нажиматься одним и тем же пальцем. Я использую венгерскую клавиатуру, которая имеет еще 3 символа справа от l: éáű , поэтому я хотел бы воспользоваться этим и переназначить эти клавиши. Однако vim, похоже, не распознает эту команду: noremap é l . Как мне этого добиться?

1 ответ1

2

Страница 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".

Я думаю, что вы, вероятно, не хотите переназначать с режимом "Вставить и заменить". Но вы можете поэкспериментировать с одним или обоими режимами "Визуальный" и "Выбор".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .