tmuxでペインの名前を変更する方法は?


119

でペインの名前を変更する方法はtmux

回答:


186

tmux windowですか?Ctrl + b + ,送信接頭辞としてCbがある場合(デフォルト)

またC-b :rename-window <new name>tmux rename-window <new name>あまりにも動作します。

私が知っているように、ペインの名前を変更することはできません


現在のウィンドウの名前を変更すると、入力しているものが表示されません。それはデフォルトですか?それとも私の設定によるものですか?私の設定はそれtmuxを示すことを妨げていないと思いますが。
zyy

明確にするために、ペインの名前を変更できます。これは、誤ってバイナリ出力によってペインが破損した場合に必要です。@Mapadの答えはこれを解決します。
fuzzyTew

名前変更ペインが要求されたときにウィンドウの名前を変更するにはどうすればよいですか?
XMAN

いつでも元に戻りますls
anilbey

2
@anilbey同じです。それに対する解決策はset-option -g allow-rename off
joeytwiddle

36

はい、ウィンドウ名だけでなく、tmux> = 2.3で始まるペイン名も変更できます。シェルに次のように入力するだけです。

printf '\033]2;%s\033\\' 'title goes here'

ペイン名を表示するには、.tmux.confに以下を追加する必要がある場合があります。

# Enable names for panes
set -g pane-border-status top

名前を自動的に割り当てることもできます:

set -g pane-border-format "#P: #{pane_current_command}"

コマンドの引数をペインボーダー形式にする方法はありますか?ああ、githubに対応する問題があります。
konstunn 2018

15

それらのスクリプトtmuxには、次のrename-window ようなコマンドがあります。

tmux rename-window -t <window> <newname>

私の場合、次のようなものtmux rename-window -t 9 my-projectでした。
borracciaBlu

8

ペインの名前を簡単に変更したい人のために、これは私が持っているものです .tmux.conf

set -g default-command '                      \
function renamePane () {                      \
  read -p "Enter Pane Name: " pane_name;      \
  printf "\033]2;%s\033\\r:r" "${pane_name}"; \
};                                            \
export -f renamePane;                         \
bash -i'
set -g pane-border-status top
set -g pane-border-format "#{pane_index} #T #{pane_current_command}"
bind-key -T prefix R send-keys "renamePane" C-m

ペインには、インデックス、マシン名、現在のコマンドが自動的に付けられます。マシン名を変更するには、実行<C-b>Rして新しい名前を入力するように求めることができます。

*ペインの名前変更は、シェルを使用している場合にのみ機能します。


4

また、スクリプトを作成するときに、でウィンドウを作成するときに名前を指定できます-n <window name>。例えば:

# variable to store the session name
SESSION="my_session"

# set up session
tmux -2 new-session -d -s $SESSION

# create window; split into panes
tmux new-window -t $SESSION:0 -n 'My Window with a Name'

3

私にとって最も簡単なオプションは、代わりに端末のタイトルの名前を変更することでした。ご覧ください:https : //superuser.com/questions/362227/how-to-change-the-title-of-the-mintty-window

この回答では、彼らはPS1変数を変更することについて言及しています。注:私の状況はcygwinに特有のものでした。

TL; DRこれを.bashrcファイルに入れます。

function settitle() {
      export PS1="\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n$ "
      echo -ne "\e]0;$1\a"
}

これを.tmux.confファイルまたは同様のフォーマットに入れます。

set -g pane-border-status bottom
set -g pane-border-format "#P #T #{pane_current_command}"

次に、コンソールで次のように入力して、ペインのタイトルを変更できます。

settitle titlename

0

次のように、tmux.confでペインの境界線を設定することで、ペインのタイトルを調整できます。

###############
# pane border #
###############
set -g pane-border-status bottom
#colors for pane borders
setw -g pane-border-style fg=green,bg=black
setw -g pane-active-border-style fg=colour118,bg=black
setw -g automatic-rename off
setw -g pane-border-format ' #{pane_index} #{pane_title} : #{pane_current_path} '
# active pane normal, other shaded out​
setw -g window-style fg=colour28,bg=colour16
setw -g window-active-style fg=colour46,bg=colour16

ここで、pane_index、pane_title、pane_current_pathは、tmux自体によって提供される変数です。

設定をリロードするか、新しいtmuxセッションを開始した後、次のように現在のペインのタイトルを設定できます。

tmux select-pane -T "fancy pane title";
#or
tmux select-pane -t paneIndexInteger -T "fancy pane title";

すべてのペインでいくつかのプロセスが実行されているため、コマンドラインを使用できない場合は、接頭辞bind(デフォルトではCb)とコロン(:)を押した後にコマンドを入力することもできます。コマンド:

select-pane -T "fancy pane title"
#or:
select-pane -t paneIndexInteger -T "fancy pane title"
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.