web-dev-qa-db-ja.com

Ctrl + Arrowを取得してtmux + urxvtで動作させる

C-aとしてtmuxコマンドキーを持っています。 C-左/ C-単語間(またはそれが呼ばれるもの)をジャンプする右は、urxvtだけで問題なく機能しますが、urxvt/tmuxの下では、左/右にそれぞれ「5D」と「5C」が出力されます。 Wordスキップが機能するようにtmuxを構成するにはどうすればよいですか(X上でurxvtを使用するか、tty内で)?

8
stelonix

これを.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

URxvtは、XTermと同じエスケープシーケンスを送信するようになりました。

これにより、SSHを使用して独自の.inputrcを使用してリモートマシンに接続している場合でも、Wordジャンプが機能するようになります。

Urxvtをxtermのように動作させるには、 http://www.netswarm.net/misc/urxvt-xtermcompat.txt を参照してください。

11
Dominik Heidler

bashとEmacsではCtrl-leftとCtrl-right からの抜粋:

Sometimes the small things make a big difference. I noticed that the control-left 
and control-right keys weren’t working in bash or Emacs on my FreeBSD box 
accessed over X11.app on OS X. Easily fixed.

.inputrc

    "\e[1;5C": forward-Word     # Ctrl+right  => forward Word
    "\e[1;5D": backward-Word    # Ctrl+left   => backward Word

.emacs

    (global-set-key "\M-[1;5C"    'forward-Word)  ; Ctrl+right   => forward Word
    (global-set-key "\M-[1;5D"    'backward-Word) ; Ctrl+left    => backward Word
  • 各プログラムでそれを行い、それらのキーバインディングを変更する必要があると思います。
  • なぜtmuxがキーストロークを壊してしまうのかわかりません。
3

Zshを使用する場合は、これを~/.zshrcに追加します。

bindkey "5C" forward-Word
bindkey "5D" backward-Word

http://clock.co.uk/blog/zsh-ctrl-left-arrow-outputting-5d から入手しました

2
Tarrasch

ここで回答: https://superuser.com/a/395273/65499

C-b :set-window-option xterm-keys on
0
isomorphismes