2013-04-06 46 views
9

我在.vimrc中映射控制键+ 1,2,3 ..切换选项卡的映射。我在Ubuntu 11.10中使用gnome终端,控制键映射似乎不起作用。任何人都可以告诉我做错了什么。.vimrc映射控制键不工作

VIM - 六改良版7.3.154

map <C-S-]> gt 
map <C-S-[> gT 
map <C-1> 1gt 
map <C-2> 2gt 
map <C-3> 3gt 
map <C-4> 4gt 
map <C-5> 5gt 
map <C-6> 6gt 
map <C-7> 7gt 
map <C-8> 8gt 
map <C-9> 9gt 
map <C-0> :tablast<CR> 
syntax on 
set shiftwidth=2 
+0

检查Gnome终端中的Edit> Keyboard shortucts,如果这些组合已经映射到某个东西。我认为他们是默认的tab切换... – plesiv 2013-04-06 10:13:33

回答

15

首先确保您的终端仿真器(Gnome终端)不吞下自己的功能键组合默认Ctrl +数字开关选项卡。但恐怕你仍然无法使用所有这些组合......

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

有些人(最重要的是保LeoNerd埃文斯)要解决这个问题(即使控制台Vim的支持此终端),并已飘然various proposals

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