起因是写代码的时候发现 tmux 里按 shift-tab 会窗口向前移动,再在新开的窗口上面加一个 Z,发现是以下配置搞的鬼:

bind M-[ prev

细究发现,cat键入shift-tab回显的是^[[z,而M-[对应的是^[[

测试输入

这就解释通了。但方向键的上,对应的是^[[A,却没触发这个,实在奇怪。

解决方案

  1. 改键,但是我不太想改,因为用[]来左右跳是我习惯的配置;
  2. 另一个解决方案是解决shift-tab的行为,vim wiki 链接

使用 kitty 终端试了一下,问题消失了,怀疑是st的问题,让我仔细看看代码哪写错的...

尴尬的事情发生了,我在xfce4里的st是正常的,但是ssh到raspberry pi上又是不正常的,找到一篇相关的贴

然而我重启了dwm后,又正常了,但是ssh还是不可以,这是一个兔子洞。工具问题,没必要花时间,还是修改快捷键吧...

最后决定使用 M-;, M-' 替代。