测绘<;C-Tab>;在我看来,vimrc在Ubuntu中失败了

测绘<;C-Tab>;在我看来,vimrc在Ubuntu中失败了,vim,keyboard-shortcuts,keymapping,Vim,Keyboard Shortcuts,Keymapping,我想将ctrl-tab映射到:tabn,将ctrl-shift-tab映射到:tabp 我让它在WindowsXP中为gVim工作,但在Ubuntu 9.10中将它移到了my.vimrc,它不工作(Vim7.2) 下面是my.vimrc的相关部分: nmap <C-Tab> :tabn<CR> nmap <C-S-Tab> :tabp<CR> nmap <C-t> :tabnew<CR> nmap:tabn nmap:ta

我想将ctrl-tab映射到:tabn,将ctrl-shift-tab映射到:tabp

我让它在WindowsXP中为gVim工作,但在Ubuntu 9.10中将它移到了my.vimrc,它不工作(Vim7.2)

下面是my.vimrc的相关部分:

nmap <C-Tab> :tabn<CR>
nmap <C-S-Tab> :tabp<CR>
nmap <C-t> :tabnew<CR>
nmap:tabn
nmap:tabp
nmap:tabnew
工作正常,因此映射ctrl键似乎不是问题。我真的不知道从哪里开始!考虑到它在Windows下运行良好,这里会出什么问题

更多信息:我正在运行Ubuntu 9.10服务器,上面安装了
xorg
fluxbox
。我正在使用
xterm
作为我的终端

Ctrl-tab映射在fluxbox中工作:我可以在我的窗口管理器中成功映射Ctrl-tab和Ctrl-shift-tab;如果我开始标记我的xterm,我可以按预期在这些选项卡之间循环。我不确定这意味着什么,但我认为这不是一个窗口管理器/xorg问题

这些键似乎没有映射到其他对象,可以一起成功识别


回答:这是一个
xterm
问题-它不会拦截并发送
ctrl选项卡的唯一键码。有关详细信息,请参阅下面的完整答案。

如果您使用的是Ubuntu,您可能启用了Compiz之类的功能

我不能确定,但你应该看看Compiz扩展,看看它们是否定义了快捷方式。我曾经有过类似的问题,不是vim的问题,但仍然存在


也可能是X服务器拦截了一些击键(例如:
xbindkeys
)。

这肯定是一个终端问题

显然,xterm和许多其他终端模拟器在默认情况下不会截获ctrl tab,而只是发送一个tab信号。这表明ctrl选项卡不适用于xterm、Eterm和aterm。还有一种说法认为这是一个终极问题

可以通过将来自的信息与此相结合来找到解决方案。这里的要点是,您需要配置xterm来截获并发送
.Xresources
文件中ctrl-tab和ctrl-shift-tab的唯一代码,然后使用一些时髦的映射将其破解到
.vimrc

长话短说,这很难做到(这里仍然没有让它工作),因为xterm和vim都需要上当受骗。我个人会继续使用另一个映射。。。这个问题是一个严重的时间吸盘,我不认为它是值得推动它的工作


谢谢大家的帮助。

我使用了@nfm答案中的博客和wiki帖子,并解决了这个问题:

将其放入
.Xresources
文件中(在这种情况下,您可以复制粘贴):

然后重新启动vim

完成。

就我而言,
我在rxvt unicode(urxvt,v9.22)上解决了如下问题,

terminal (.Xresource)
URxvt.keysym.Control-Tab: \033[27;5;9~ 

vim v8.0 (.vimrc) 
map <Esc>[27;5;9~ :tabnext<CR>
终端(.Xresource)
URxvt.keysym.Control-Tab:\033[27;5;9]
vim v8.0(.vimrc)
map[27;5;9~:tabnext

祝你好运!

C-Tab对你的终端可能有特殊的意义吗?可能……我会调查一下。我正在运行xterm。要了解详细的xterm解决方案,以消除Ctrl-I、Tab、Ctrl-Tab等的歧义。请查看更多信息:我正在运行Ubuntu服务器,安装了xorg,并将fluxbox作为我的窗口管理器。如果你想临时试用该解决方案,请在。这使用了gt或gt的组合键,似乎通过一个终端工作。其他终端可以解决这个问题吗?@wukong这也是我的想法,我认为tmux应该配置
screen-256color
,所以我们可以让它与其他终端一起工作吗?@statquant它对我来说非常适合.你能写下哪个部分不适合你吗?我不能用它切换选项卡,我用这些表格复制了
.Xresources
文件,然后
cd;xrdb.Xresources
然后使用从
XXXX
的更改更新了
.vimrc
^[
线路重新启动后,所有终端和vim…都无法正常工作。很抱歉,我们可能有不同的版本,您的版本不支持某些内容,或者某些内容中断了这些设置。对我有效,谢谢。除了需要映射到vim windows导航之外。我所要做的就是在我的系统中更改F13和F14的映射。希望它能帮助别人。
set timeout timeoutlen=1000 ttimeoutlen=100
set <F13>=XXXX[27;5;9~
nnoremap <F13> gt
set <F14>=XXXX[27;6;9~
nnoremap <F14> gT
terminal (.Xresource)
URxvt.keysym.Control-Tab: \033[27;5;9~ 

vim v8.0 (.vimrc) 
map <Esc>[27;5;9~ :tabnext<CR>