得到 Ctrl+Arrow 在 tmux+urxvt 下工作

ste*_*nix 9 linux terminal urxvt arch-linux tmux

我有 tmux 命令键作为 Ca。C-Left/C-Right 在单词(或任何它的名字)之间跳转单独在 urxvt 中工作得很好,但在 urxvt/tmux 下它会分别为 Left/Right 打印 '5D' 和 '5C'。如何配置 tmux 以便跳过单词(在 X 上使用 urxvt 或在 tty 中)?

Dom*_*ler 14

将此添加到您的 .Xdefaults

URxvt.keysym.Control-Up:     \033[1;5A
URxvt.keysym.Control-Down:   \033[1;5B
URxvt.keysym.Control-Left:   \033[1;5D
URxvt.keysym.Control-Right:  \033[1;5C
Run Code Online (Sandbox Code Playgroud)

URxvt 现在将发送与 XTerm 相同的转义序列。

这将确保当您.inputrc使用 SSH连接到远程机器时,单词跳转甚至可以工作。

要使 urxvt 更像 xterm,请参阅http://www.netswarm.net/misc/urxvt-xtermcompat.txt

  • 我将它添加到`~/.Xresources`,运行`cat ~/.Xresources | xrdb -merge` 并重新启动终端。奇迹般有效。 (3认同)

小智 3

摘自bash 和 Emacs 中的 Ctrl-left 和 Ctrl-right

\n\n
Sometimes the small things make a big difference. I noticed that the control-left \nand control-right keys weren\xe2\x80\x99t working in bash or Emacs on my FreeBSD box \naccessed over X11.app on OS X. Easily fixed.\n\n.inputrc\n\n    "\\e[1;5C": forward-word     # Ctrl+right  => forward word\n    "\\e[1;5D": backward-word    # Ctrl+left   => backward word\n\n.emacs\n\n    (global-set-key "\\M-[1;5C"    \'forward-word)  ; Ctrl+right   => forward word\n    (global-set-key "\\M-[1;5D"    \'backward-word) ; Ctrl+left    => backward word\n
Run Code Online (Sandbox Code Playgroud)\n\n
    \n
  • 我想您需要在每个程序中执行此操作并更改它们的键绑定。
  • \n
  • 我不知道为什么tmux会破坏击键。
  • \n
\n