在数字键盘上映射键

时间:2012-09-05 18:04:36

标签: vim

多年来,我一直在使用笔记本电脑 - 键盘上没有数字键盘。最近收购了一个dekstop键盘...就在今天我发现Vim映射到数字(1 ... 9,0)不能用于他们的数字键盘等价物。我的意思是说?

nmap 1 Dj

在数字键盘1上不起作用?

这个问题是否有任何解决方案(不是真正的“问题”,但很烦人)

4 个答案:

答案 0 :(得分:1)

这适用于Windows:nmap <C-k5> :tabnew<CR>

键盘标识符为k1,k2等。还有kPlus等。据我所知,当NumLock关闭时,映射会失败。

答案 1 :(得分:1)

我有一些键盘和终端,我无法通过k*标识符进行映射。要在这种情况下映射它们,请使用 Ctl v 以输入正确的转义码

例如,要在键盘上映射1以执行Dj,请输入:

:map 

然后输入 Ctl v ,这将打开一个带^[的转义序列。然后按键盘上的 1 。结果代码看起来像^[Ow。正常完成您的映射:

:map ^[Ow Dj

答案 2 :(得分:0)

您可以通过以下方式在vi中(例如在~/.vimrc中)映射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键的示例。当然你可以改变映射。

答案 3 :(得分:0)

我也经常使用键盘映射。为了帮助您开始了解映射,您可以查看vim“知道”哪些键以及当前使用的映射是什么:

:h keycodes

希望这会列出您的键盘按键等,如果是这种情况,那么您可以轻松地(不必担心找出并使用其转义序列)例如使用map <k0> :wincmd w<CR>重新映射它们

多年来,我一直在使用Ctrl-v和键来获取XXXX映射,直到我找到有关keycodes命令和真正有用的定义为止。

希望有帮助!