2014-02-12 95 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