web-dev-qa-db-ja.com

tmuxでCtrl +左/右キーを使用してWord全体を移動するにはどうすればよいですか?

Zshとbashの両方で、ctrl + arrowsを使用すると、Word全体で入力している位置を移動できますが、これはtmuxでは機能しません。これは、シェルを開くたびに自動的に起動するため、問題です。 。

どうすれば修正できますか?

101
Llamageddon
  1. ~/.tmux.confと行を追加:

    set-window-option -g xterm-keys on
    
  2. まだ永続的にしたくない場合は、次のようにします。

    C-b :set-window-option xterm-keys on
    
  3. 次のようにして、tmuxに設定をリロードします。

    C-b :source-file ~/.tmux.conf
    

詳細 ここ

133
sgzmd
set-window-option -g xterm-keys on

そこまでの道のりを教えてくれた Ctrl-Left/Right コンソールでは、それはまだvimで異なって応答していました。

キーのバインドを解除しても役に立たないようです。

ある時点で、デフォルトの端末をscreen(set-option -g default-terminal "screen".tmux.conf

これを次のように変更すると、 Ctrl-Left/Right その他すべて:

set-option -g default-terminal "xterm-256color"

それが誰かを助けることを願っています。

10
Kieran Moore

Msys2/Cygwin/minttyの場合:

以下を~/.inputrcに追加します。

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

リロードすると、tmuxが正しく動作します。

3
Mithril

よくわかりませんが、tmuxがデフォルトでC-<up/down/left/right>をバインドして、現在フォーカスされているペインの上/下/左/右のペインにフォーカスを移動するためと考えられます。ペインを頻繁に使用しない場合、この機能に気付かなかった可能性があります。これが問題である場合は、次のように言ってこれらのキーのバインドを解除できます。

unbind C-Left
unbind C-Right

それ自体で十分かもしれません、または次のようにして、手動でそれらをやりたいことに再度バインドする必要があるかもしれません。

bind -n C-Left <the action you want>
bind -n C-Right <other action you want>
2
jake-low

私にとって、High Sierraのシステム設定がMission Controlによって使用されるように設定されていたため、キーが正しくバインドされていませんでした。これらのチェックを外すと、iTerm2とTmuxで正しいバインディングが機能するようになりました

System Preferences

コントロールキーを参照するすべてのアイテムのチェックを外して、バインディングが適切に機能するようにしました

0
Andrew