Как сопоставить клавиши клавиатуры (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, как и должно быть. Конечно, вы можете изменить сопоставления как обычно.