現在持っているバインディングを使用してtmuxでウィンドウのサイズを変更できないのはなぜですか?

現在持っているバインディングを使用してtmuxでウィンドウのサイズを変更できないのはなぜですか?

コマンド全体を入力せずにウィンドウのサイズを変更できるように、tmuxでキーバインディングを設定しようとしています。現在、次のように設定されています。

bind-key -n S-Left resize-pane -L 1
bind-key -n S-Right resize-pane -R 1
bind-key -n S-Up resize-pane -U 1
bind-key -n S-Down resize-pane -D 1

しかし、何らかの理由でこれは機能しません。プレフィックスなしで左のShiftキーを押すと機能しません(-nとSが実行する操作であるため)。何が間違っているのかを知っている人はいますか?私のファイル.tmux.conf全体は次のとおりです。

# Force a reload of the config file
unbind r
bind r source-file ~/.tmux.conf

#set-window-option -g mode-keys vi
bind-key -t vi-copy 'v' begin-selection
bind-key -t vi-copy 'y' copy-selection

#unbind %
bind | split-window -h
bind - split-window -v

# remap prefix to Control + a
unbind C-b
set -g prefix C-a
bind a send-prefix

# copy mode using vi
set-window-option mode-keys vi

bind-key -n S-Left resize-pane -L 1
bind-key -n S-Right resize-pane -R 1
bind-key -n S-Up resize-pane -U 1
bind-key -n S-Down resize-pane -D 1

私は実際に新しいことを試み、tmuxコマンドラインからコマンドの1つを個別に実行してみました。そこに行くにはプレフィックスを押してからを押します:。次に、次のコマンドを入力します。

bind-key -n S-Up resize-pane -U 1

どのした働くプレフィックスなしで上に移動すると、ウィンドウのサイズが変更されます。しかし、何らかの理由でtmux設定ファイルをインポートできません。それが何なのかよく分からない。


以下を追加した後、これはうまくいくようです。

source ~/.tmux.conf

ファイルの最後に。しかし、これは非常にハッキーな解決策のように感じます。 tmux設定ファイルでなぜそのような愚かなコマンドを実行する必要があるのか​​知っていますか?

答え1

tmuxこれまでにわかったように、「dumbコマンド」はデフォルトの設定ファイルを「読み込む」コマンドです。

これはいいえサイズ変更ショートカット機能に必要です。

答え2

ファイルの最後にコマンドを追加するだけでは、実際にファイルをインポートするのに十分ではありません。コマンドを取得するにはファイルをインポートする必要があるため、実際には二重ソースが発生するためです。

おそらく、ターミナルセッションを再開してtmuxを再起動する(またはtmuxを再起動するなど)、その間にタスクを実行してtmux設定ファイルに対してsourceコマンドをトリガした可能性があります。

source ~/.tmux.conf最後のものは~/.tmux.conf重複して不要です。

答え3

一部のtmuxウィンドウが開いているようです。この場合、以前の構成が使用されます。 2つのオプションがあります。

1. tmux セッションを開始する前に設定を取得します。

source ~/.tmux.conf~~

  1. すべてのtmuxウィンドウを閉じて新しいセッションを開始します。

関連情報