如何重命名tmux中的窗格?
tmux
Ctrl-b ,
Ctrl-b
,
其中Ctrl-b是默认的前缀键。
另外,运行:
tmux rename-window <new name>
或者输入Ctrl-b : rename-window <new name>。
:
rename-window <new name>
在较新的版本中,您可以使用以下方法重命名窗格:
tmux select-pane -T <title>
或者输入Ctrl-b : select-pane -T <pane_name>。
select-pane -T <pane_name>
此外,我在.tmux.conf中有set -g pane-border-status top和set -g pane-border-format " [ ###P #T ] "。
set -g pane-border-status top
set -g pane-border-format " [ ###P #T ] "
rename-window
tmux rename-window -t <window> <newname>
同样,在编写脚本时,可以在使用-n <window name>创建窗口时指定名称。例如:
-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'
是的,您可以重命名窗格名称,而不仅仅是以tmux >= 2.3开头的窗口名称。只需在shell中输入以下内容:
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}"
对于那些想要在bash shell中轻松重命名窗格的人来说,这是我在.tmux.conf中所拥有的
.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,这将提示您输入一个新名称
<C-b>R
*窗格重命名只适用于在shell中。
在这个答案中,他们提到要修改PS1变量。注:我的情况是cygwin特有的。
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
你可以通过在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(默认为C-b)和冒号(:)后键入命令,而不需要使用"tmux"在前面的命令:
select-pane -T "fancy pane title" #or: select-pane -t paneIndexInteger -T "fancy pane title"