如何重命名
tmux
中的窗格?
Ctrl-b
,
其中
Ctrl-b
是默认前缀键。
或者,运行:
tmux rename-window <new name>
或输入
Ctrl-b
:
rename-window <new name>
。
在较新的版本中,您可以使用以下方法重命名窗格:
tmux select-pane -T <title>
或输入
Ctrl-b
:
select-pane -T <pane_name>
。
另外,我在
~/.tmux.conf
中有以下两行,以便在窗格本身的顶部查看窗格的标题,并重新格式化标题。
set -g pane-border-status top
set -g pane-border-format " [ ###P #T ] "
是的,您可以重命名窗格名称,而不仅仅是以 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}"
对于那些编写 tmux 脚本的人,有一个名为
rename-window
的命令
所以例如
tmux rename-window -t <window> <newname>
对于那些想要在 bash shell 中轻松重命名窗格的人,这就是我的
.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
,这将提示您输入新名称。
*窗格重命名仅在您处于 shell 中时才有效。
此外,在编写脚本时,您可以在创建窗口时使用
-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'
对我来说最简单的选择是重命名终端的标题。 请参阅:https://superuser.com/questions/362227/how-to-change-the-title-of-the-mintty-window
在这个答案中,他们提到修改 PS1 变量。注意:我的情况是 cygwin 特有的。
TL;博士 将其放入您的 .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
您可以通过在 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"
要重命名窗格,请在 tmux 命令提示符中写入以下内容:
select-pane -T 'NEW PANE NAME'
要将其绑定到密钥(例如:u),请在您的
~/.tmux.conf
文件中写入以下内容:
bind u command-prompt "select-pane -T '%%'"
然后您可以通过
<prefix>u
重命名窗格
仅供参考:
<prefix>:
<prefix>
默认为C-b
(可以用set -g prefix NEW_KEY
更改)bind p 命令提示符 -p "(重命名窗格)" -I "#T" "select-pane -T '%%'"