nfm*_*nfm 23 vim keyboard-shortcuts keymapping
我想将ctrl-tab映射到:tabn,并将ctrl-shift-tab映射到:tabp.
我让它在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>
Run Code Online (Sandbox Code Playgroud)
<C-t>
工作正常,所以映射ctrl键似乎不是一个问题.我真的不知道从哪里开始!这可能会出现什么问题,考虑到它在Windows下运行良好?
更多信息:我正在运行Ubuntu 9.10服务器,xorg
并fluxbox
安装在顶部.我正在使用xterm
我的终端.
Ctrl-tab映射在fluxbox中工作:我可以在窗口管理器中成功映射ctrl-tab和ctrl-shift-tab; 如果我开始标记我的xterms,我可以按预期循环浏览这些标签.我不确定这意味着什么,但我认为问题不是窗口管理器/ xorg问题.
这些键似乎没有映射到别的东西,并且可以一起成功识别.
答:这是一个xterm
问题 - 它不会拦截并发送一个唯一的密钥代码ctrl-tab
.有关详情,请参阅下面的完整答案.
nfm*_*nfm 31
这绝对是一个终极问题.
显然xterm和许多其他终端模拟器默认情况下不拦截ctrl-tab,只发送一个标签信号.这个Vim wiki页面声明ctrl-tab不适用于xterm,Eterm和aterm.还有这个Arch linux表单帖子声称这是一个终端问题.
通过将此博客文章中的信息与此vim wiki相结合,可以找到该解决方案,用于映射密钥代码.它的要点是你需要配置xterm来拦截并在你的.Xresources
文件中为ctrl-tab和ctrl-shift-tab发送一个唯一的代码,然后.vimrc
通过一些时髦的映射将其破解成你的.
简而言之,它很难做到(仍然没有在这里工作)因为xterm和vim都需要被欺骗去做.我个人会继续使用另一个映射...这个问题是一个严肃的时间傻瓜,我不认为值得努力让它工作!
谢谢你的帮助.