2013-02-15 26 views
1

我想將CTRL-+映射到:tabn。但它不起作用。map`ctrl +`to tabn

inoremap <C-+> :tabn<CR> 
inoremap <C--> :tabp<CR> 
nnoremap <C-+> :tabn<CR> 
nnoremap <C--> :tabp<CR> 

它不能在插入模式下工作也不在正常模式。

如果我嘗試以下(不含CTRL),那麼它的工作原理,但後來當我在插入模式,我不能切換標籤:

nnoremap + :tabn<CR> 
nnoremap - :tabp<CR> 

我該如何映射到CTRL-+:tabn這樣我就可以在插入模式下切換標籤?

回答

2

由於鍵盤輸入在內部處理的方式,現在通常不可能實現這種情況,即使在GVIM中也是如此。一些組合鍵,像按Ctrl +非字母不能被映射,並按Ctrl +信與按Ctrl ++信無法區分。 (除非你的終端發送了一個明確的termcap代碼,但大部分都沒有。)在插入或命令行模式下,嘗試輸入組合鍵。如果沒有任何事情發生/插入,則不能使用該組合鍵。這也適用於<Tab>/<C-I><CR>/<C-M>/<Esc>/<C-[>等(僅例外是<BS>/<C-H>)。這是一個已知的痛點,並在vim_dev各種討論和#vim IRC頻道的主題。

對我來說(在英文Windows GVIM),它可能按Ctrl +映射-<C-_>,雖然。

有些人(最重要的是保LeoNerd埃文斯)要解決這個問題(即使控制檯Vim的支持此終端),並已飄然various proposals

但截至今天,沒有補丁或志願者還沒有出面,儘管許多人表示希望在未來的Vim 8主要版本中擁有這一點。

1

Vim只能檢測到(並因此映射)幾個可以打印的控制鍵和絃,這些都列在FAQ中。不幸的是<CTRL-+><CTRL-->沒有在這個列表中提到,所以它看起來像這樣的映射是不可能的。

關於是否重新設計Vim的關鍵模型,有持續discussion,但這可能要等到Vim 8.0。我不樂觀。

相關問題