我使用的是 Ubuntu 16.04 的 2012-Dez-06 版 Vim 7.4,在 W10 上使用 PuTTY 0.67。我想映射 中的数字键盘的按键.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 中按下数字键盘按钮1
,2
,3
... 我得到q
,r
,s
,t
... 如果我映射q
到一个命令,只有普通q
按钮会执行该命令,但1
数字键盘上不会执行。我的.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>
应该是正确的。
我正在使用带有 ssh 的 Putty 和以下键盘设置:
答案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 键的示例。当然,您可以照常更改映射。