我在Windows XP中为gVim工作,但将其移动到Ubuntu 9.10中的.vimrc,它不起作用(vim 7.2)。
这是我的.vimrc的相关部分:
nmap <C-Tab> :tabn<CR> nmap <C-S-Tab> :tabp<CR> nmap <C-t> :tabnew<CR>
c为C-T GT;工作正常,所以映射ctrl键似乎不是一个问题。我真的不知道从哪里开始!在这里可能会出现什么问题,因为Windows下工作正常
更多信息:我正在运行Ubuntu 9.10服务器,xorg和fluxBox安装在上面。我使用xterm作为我的终端。
Ctrl-Tab映射在fluxBox中工作:我可以在我的窗口管理器中成功映射ctrl-tab和ctrl-shift-tab;如果我开始选择我的xterms,我可以按预期循环浏览这些选项卡。我不知道这是什么意思,但我认为问题不是一个窗口管理器/ xorg问题。
钥匙似乎没有映射到别的东西,可以一起成功识别。
答案:这是一个xterm问题 – 它不拦截并发送ctrl-tab的唯一键码。有关详细信息,请参阅下面的完整答案。
显然xterm和许多其他终端仿真器,默认情况下不拦截ctrl-tab,只发送一个标签信号。这个Vim wiki page表示ctrl-tab不适用于xterm,Eterm和aterm。还有这个Arch linux form post声称这是一个终端问题。
该解决方案可以通过将this blog post的信息与此vim wiki for mapping keycodes组合来找到。这个要点是您需要配置xterm以截取并发送您的.Xresources文件中的ctrl-tab和ctrl-shift-tab的唯一代码,然后通过一些时髦的映射将其侵入您的.vimrc中。
长篇小说是很难做(仍然没有在这里工作),因为xterm和vim都需要被欺骗。我个人会继续前进并使用另一个映射…这个问题是一个严肃的时间吸盘,我不认为这是值得的,让它工作!
谢谢你的帮助。