终端发送箭头键作为序列开头Esc
.在Vim中,有一个选项'esckeys'
,允许Esc
以插入模式工作的键.它是以牺牲实际Esc
键立即响应为代价的,因为Vim不再知道你是只是按Esc
或开始拼写箭头键.
这是我在插入模式下可以做的事情:
Esc
立即按下并退出插入模式.我已经有了解决方案的开端.即便如此:set noesckeys
,我仍然可以将键映射为<Up>
:
imap q <Up>
Run Code Online (Sandbox Code Playgroud)
当然,q
使光标上升不是一个好关键.相反,我想将我的终端模拟器的箭头键映射到一些不能启动的东西Esc
(比如我永远不会输入的一些随机Unicode字符),然后将imap
它们映射到Vim中的方向.
问题是:当我离开Vim时,我的箭头键将停止工作.只有Vim知道他们现在的意思.
我在iTerm2里面的tmux里面工作.有没有办法只在一个tmux窗格中生成这样的绑定?或者让Vim告知tmux它应该在运行时使用疯狂的箭头键绑定?还有其他想法吗?
(顺便说一句,我很乐意在插入模式下完全不使用箭头键,但我会与期望它们工作的人配对,我希望成为一个有礼貌的配对.)
你到底是什么问题?你的箭头键是否在Vim中工作?他们是否在tmux工作?
我在Vim/tmux中显示控制字符([A
,[B
...)的箭头键有问题,我通过添加解决了它
nnoremap <Esc>A <up>
nnoremap <Esc>B <down>
nnoremap <Esc>C <right>
nnoremap <Esc>D <left>
inoremap <Esc>A <up>
inoremap <Esc>B <down>
inoremap <Esc>C <right>
inoremap <Esc>D <left>
Run Code Online (Sandbox Code Playgroud)
我的~/.vimrc
.
归档时间: |
|
查看次数: |
3107 次 |
最近记录: |