我最近开始使用tmux(以前是屏幕用户),除了一个小问题,我很喜欢它。我在tmux会话中使用emacs,并且习惯于使用Shift-箭头键在emacs窗口(而不是tmux窗口)之间移动。在tmux中运行时,这些绑定似乎完全停止工作(就像它们根本没有注册到emacs一样)。如果我退出tmux并仅在我的shell中运行emacs,它们就可以正常工作。
我正在使用iTerm2,将其安装到Linux机器中,并在其中运行tmux / emacs。我在.emacs中设置了Shift箭头键绑定,如下所示:
(global-set-key "\M-[1;2A" 'windmove-up)
(global-set-key "\M-[1;2B" 'windmove-down)
(global-set-key "\M-[1;2C" 'windmove-right)
(global-set-key "\M-[1;2D" 'windmove-left)
当不在tmux中运行时,我可以通过在emacs中执行Cq然后按下键序列,来确认那些是按Shift键组合的正确字符序列。在tmux中,即使这样也不起作用,因为它似乎看不到Shift箭头按键的任何输入(它只是位于Cq提示符下)。
查看tmux的键绑定,我认为Shift箭头键没有任何绑定,即使是Shift键,它们也只会在输入前缀(在我的情况下绑定到Co)之后才注册。
关于如何使Shift键在tmux中再次起作用的任何想法?