Ответы:
Вы имеете в виду окно tmux? Ctrl + b + ,
если у вас есть префикс отправки Cb (по умолчанию)
Тоже C-b :rename-window <new name>
и tmux rename-window <new name>
работать тоже.
Насколько я знаю, вы не можете переименовать панель
ls
set-option -g allow-rename off
да, вы можете переименовывать имена панелей, а не только имена окон, начинающиеся с 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}"
Для тех, кто пишет tmux, есть команда, rename-window
например
tmux rename-window -t <window> <newname>
tmux rename-window -t 9 my-project
.
Для тех, кто хочет легко переименовать свои панели, это то, что у меня есть в моем .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
ее, и вам будет предложено ввести новое имя.
* Переименование панели работает только когда вы находитесь в оболочке.
Также при написании сценария вы можете указать имя при создании окна с помощью -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; 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
Вы можете настроить заголовок панели, установив границу панели в 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) и двоеточия (:) без «tmux» перед команда:
select-pane -T "fancy pane title"
#or:
select-pane -t paneIndexInteger -T "fancy pane title"
tmux
показать.