理想情况下,我想<A-left>
执行:tabmove -1
并<A-right>
执行:tabmove +1
.但是,当我放
nnoremap <A-left> :tabmove -1<cr>
nnoremap <A-right> :tabmove +1<cr>
Run Code Online (Sandbox Code Playgroud)
在我的.vimrc中尝试或者,vim发出哔哔声,然后按我按下的方向将光标移动一个字符.但是,:tabmove -1<cr>
直接键入命令模式可以获得所需的效果.我怎样才能解决这个问题?提前致谢.
lfe*_*445 14
首先查看终端发送给vim的密钥代码:
$ sed -n l
^[[1;9D
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,我运行了sed命令并按下了Alt + Left.
将^[[1;9D
被发送到VIM逃脱的序列,因此我们可以通过用户对于我们的映射.
将其添加到.vimrc中
map <Esc>[1;9D :tabn<CR>
Run Code Online (Sandbox Code Playgroud)
现在我们可以通过使用循环浏览vim选项卡 Alt + Left
由于键盘输入在内部处理的方式,不幸的是今天在大多数终端中都不可能,但是应该在GVIM中工作.某些键组合(如Ctrl+非字母)无法映射,Ctrl+字母与Ctrl+ Shift+字母无法区分.这是一个众所周知的痛点,也是关于vim_dev和#vim IRC频道的各种讨论的主题.
作为解决方法,使用不同的密钥,例如<Leader><Left>
/ <Leader><Right>
.