我对tmux相当陌生,并且已经使用了一周左右。我希望将tmux窗口标题设置为我正在运行的当前程序,例如vim / htop等,而不是我连接的主机。
下面是我的配置,按照tmux手册页#W
的使用,但是在我看来,它不起作用,并且我的窗口标题始终设置为fqdn[username]
set -g status on
set -g status-interval 1
set -g status-fg colour231
set -g status-bg colour234
set -g status-left-length 20
set -g status-left '#{?client_prefix,#[fg=colour254]#[bg=colour31]#[bold],#[fg=colour16]#[bg=colour254]#[bold]} #S #{?client_prefix,#[fg=colour31]#[bg=colour234]#[nobold],#[fg=colour254]#[bg=colour234]#[nobold]}'
set -g window-status-format "#[fg=colour244,bg=colour234]#I #[fg=colour240] #[default]#W "
set -g window-status-current-format "#[fg=colour234,bg=colour31]#[fg=colour117,bg=colour31] #I #[fg=colour231,nobold]#W #[fg=colour31,bg=colour234,nobold]"
set -g window-status-last-style fg=colour31
set-window-option -g window-status-fg colour249
set -g status-right-length 150
set -g status-right "#[fg=colour225,bg=colour234]#[fg=colour234,bg=colour225] #(date +%a' '%b' '%d) %H:%M#[fg=colour234]#[bg=colour234]#{?pane_synchronized,#[bg=colour236]#[fg=colour160]#[fg=colour255]#[bg=colour160] PANES-ARE-SYNCED !! #[fg=colour234]#[bg=colour=234],#[fg=colour22]#[fg=colour255]#[bg=colour22] PANES-NOT-SYNCED #[fg=colour234]#[bg=colour234]}#[fg=colour255,bg=colour234]#[fg=colour234,bg=colour255,bold]#h"
所以任何人都可以让我知道我该怎么做。
答案 0 :(得分:0)
我发现在某些机器上我会得到一个username@hostname:~
,而在其他机器上我会得到可执行文件的名称。在两台计算机上,tmux show -gw
显示:
automatic-rename on
automatic-rename-format "#{?pane_in_mode,[tmux],#{pane_current_command}}#{?pane_dead,[dead],}"
所以我想知道发生了什么...事实证明,选项allow-rename
是on
,在这里我可以看到username@hostname:~
,在off
,我可以看到当前的可执行文件名称。
allow-rename
使您的shell(在我的情况下为bash)可以使用转义序列和某些配置(例如,如果您的TERM
环境变量以{{1 }})标题将在每次显示提示时进行更新(这更多是与shell相关的问题,因此,如果您有兴趣,请在screen
和PS1
中查找信息)。要查看效果,请尝试以下操作:
/etc/bash/bashrc
在echo -en '\033kTMUXISCOOL\033]' ; sleep 5
中运行该命令时,您应该看到当前窗格标题更改为tmux
5秒钟,然后又更改为TMUXISCOOL
。通过将以下行放入username@hostname:~
:
~/.tmux.conf
窗格标题应显示当前可执行文件...或set -g allow-rename off
中的任何内容。