vim:我如何映射数字键?

red*_*888 16 vim

不知道为什么这不起作用,但我无法将Ctrl + NUMBER映射到vim中的命令.

例如,这有效:

nnoremap <C-r> :bufdo bdelete<cr>
Run Code Online (Sandbox Code Playgroud)

这不是:

nnoremap <C-8> :bufdo bdelete<cr>
Run Code Online (Sandbox Code Playgroud)

为了映射数字键,我是否必须做一些特别的事情?

gvim 7.4, Windows 7

Chi*_*ogg 15

出于便携性的原因,这似乎是不可能的.


Ing*_*kat 12

由于键盘输入在内部处理的方式,遗憾的是今天通常不可能,即使在GVIM中也是如此.一些组合键,像Ctrl+ non-alphabetic不能映射,并Ctrl+ letterCtrl+ Shift+ letter无法区分.(除非您的终端为其发送不同的termcap代码,但大多数情况下都没有.)在插入或命令行模式下,尝试键入组合键.如果没有任何反应/插入,则无法使用该组合键.这也适用于<Tab>/ <C-I>,<CR>/ <C-M>/ <Esc>/ <C-[>等.(只有例外是<BS>/ <C-H>.)这是一个众所周知的痛点,也是关于vim_dev和#vim IRC频道的各种讨论的主题.

有些人(最重要的是Paul LeoNerd Evans)希望解决这个问题(即使是支持Vim的终端中的控制台Vim),并提出了各种提案.

但截至今天,尚未有任何补丁或志愿者挺身而出,尽管许多人表示希望在未来的Vim 8主要版本中使用它.