Как сопоставить клавиши клавиатуры (NUM) в vim?

Я использую Vim версии 7.4 из 2012-Dez-06 Ubuntu 16.04 и использую PuTTY 0.67 на W10. Я хочу отобразить клавиши клавиатуры NUM в .vimrc, Я пробовал в командной строке в Vim, но это не работает:

map <k1> COMMAND
map k1 COMMAND
map <C-k1> COMMAND
map <S-k1> COMMAND
map *keypad-1* COMMAND
map keypad-1 COMMAND

Если я сделаю, например:

map 1 dd

это работает, и строка удаляется, если я нажму 1,

Если я нажму в vi кнопки клавиатуры NUM 1, 2, 3... Я получил q, r, s, t... если я карту q команде только нормальная q Кнопка выполнит команду, но не 1 на клавиатуре NUM. мой .vimrc является:

# cat ~/.vimrc
syntax on
set t_Co=256
colorscheme elflord
if &diff
    colorscheme apprentice
endif

h keycodes говорит мне:

…
<kHome>         Anfang auf dem Ziffernblock (oben links)*keypad-home*
<kEnd>          Ende auf dem Ziffernblock (unten links) *keypad-end*
                                                        *keypad-page-up*
<kPageUp>       Bild rauf auf dem Ziffernblock (oben rechts)
                                                        *keypad-page-down*
<kPageDown>     Bild runter auf dem Ziffernblock (unten rechts)
<kPlus>         + auf dem Ziffernblock                  *keypad-plus*
<kMinus>        - auf dem Ziffernblock                  *keypad-minus*
<kMultiply>     * auf dem Ziffernblock                  *keypad-multiply*
<kDivide>       / auf dem Ziffernblock                  *keypad-divide*
<kEnter>        Enter auf dem Ziffernblock              *keypad-enter*
<kPoint>        Dezimalzeichen auf dem Ziffernblock     *keypad-point*
<k0> - <k9>     0 bis 9 auf dem Ziffernblock            *keypad-0* *keypad-9*
<S-...>         Umschalttaste                   *shift* *<S-*
<C-...>         Steuerungstaste                 *control* *ctrl* *<C-*
<M-...>         Alt-Taste oder Meta-Taste       *meta* *alt* *<M-*
<A-...>         dasselbe wie <M-...>            *<A-*
<D-...>         Befehlstaste (nur Macintosh)    *<D-*
<t_xx>          Taste mit dem Eintrag »xx« in der TermCap

Следовательно <k1> должно быть правильно.

Я использую Putty с ssh и следующие настройки клавиатуры:

Как я могу сопоставить клавиши цифровой клавиатуры?

1 ответ

Решение

Настройки PuTTY по умолчанию просто хороши. Не меняйте ничего в PuTTY-> Terminal -> Keyboard (см. выше) или отключить в PuTTY-> Terminal -> Features что-нибудь:

Вы можете отобразить в vi клавиши NUM следующим образом:

inoremap <Esc>Oq 1
inoremap <Esc>Or 2
inoremap <Esc>Os 3
inoremap <Esc>Ot 4
inoremap <Esc>Ou 5
inoremap <Esc>Ov 6
inoremap <Esc>Ow 7
inoremap <Esc>Ox 8
inoremap <Esc>Oy 9
inoremap <Esc>Op 0
inoremap <Esc>On .
inoremap <Esc>OQ /
inoremap <Esc>OR *
inoremap <Esc>Ol +
inoremap <Esc>OS -
inoremap <Esc>OM <Enter>

Этот параметр является примером использования клавиши NUM, как и должно быть. Конечно, вы можете изменить сопоставления как обычно.

Другие вопросы по тегам