2014-02-12 94 views
13

不知道为什么这不起作用,但我无法将Ctrl + NUMBER映射到vim中的命令。vim:我如何映射数字键?

例如这个工程:

nnoremap <C-r> :bufdo bdelete<cr> 

这不:

nnoremap <C-8> :bufdo bdelete<cr> 

我必须做一些事情,以图数字键特别?

gvim 7.4, Windows 7

+2

并非所有的键都是可映射的。这很大程度上是由于vim如何从终端接收密钥。在这里寻找映射哪些键:':h map-which-keys'。我觉得映射到':bufdo bdelete'感觉有点不对。 –

回答

10

由于键盘输入在内部处理的方式,这种情况在今天通常是不可能的,即使在GVIM中也是如此。一些组合键,像按Ctrl +字母不能映射,并按Ctrl +按Ctrl ++无法区分。 (除非你的终端发送了一个明确的termcap代码,但大部分都没有。)在插入或命令行模式下,尝试输入组合键。如果没有任何事情发生/插入,则不能使用该组合键。这也适用于<Tab>/<C-I><CR>/<C-M>/<Esc>/<C-[>等(仅例外是<BS>/<C-H>)。这是一个已知的痛点,并在vim_dev各种讨论和#vim IRC频道的主题。

有些人(最重要的是Paul LeoNerd Evans)想要解决这个问题(甚至在支持这个终端的控制台Vim中),并且已经漂浮了various proposals

但截至今日,尚未有补丁或志愿者出现,尽管许多人表示希望在未来的Vim 8主要版本中拥有此功能。

+0

关于vim正在开发的非常有趣,有用的信息。 – red888