Odpowiedzi:
Masz na myśli okno tmux? Ctrl + b + ,
jeśli masz Cb jako prefiks wysyłania (jest to domyślnie)
Również C-b :rename-window <new name>
i tmux rename-window <new name>
pracuj.
Jak wiem, nie możesz zmienić nazwy okienka
ls
set-option -g allow-rename off
tak, możesz zmienić nazwy paneli, a nie tylko nazwy okien zaczynające się od tmux> = 2.3. Po prostu wpisz w powłoce:
printf '\033]2;%s\033\\' 'title goes here'
może być konieczne dodanie następujących elementów do pliku .tmux.conf, aby wyświetlić nazwy paneli:
# Enable names for panes
set -g pane-border-status top
możesz także automatycznie przypisać nazwę:
set -g pane-border-format "#P: #{pane_current_command}"
Dla tych, którzy skrypty tmux, istnieje polecenie o nazwie rename-window
np
tmux rename-window -t <window> <newname>
tmux rename-window -t 9 my-project
.
Dla tych, którzy chcą łatwo zmienić nazwy swoich szyb, oto co mam w swoim .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
Panele są automatycznie nazywane wraz z indeksem, nazwą komputera i bieżącym poleceniem. Aby zmienić nazwę komputera, możesz uruchomić, <C-b>R
co poprosi o wprowadzenie nowej nazwy.
* Zmiana nazwy okienka działa tylko wtedy, gdy jesteś w powłoce.
Również podczas tworzenia skryptów możesz określić nazwę podczas tworzenia okna za pomocą -n <window name>
. Na przykład:
# 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'
Najłatwiejszą opcją dla mnie była zamiast tego zmiana nazwy terminala. Zobacz: /superuser/362227/how-to-change-the-title-of-the-mintty-window
W tej odpowiedzi wspominają o zmodyfikowaniu zmiennej PS1. Uwaga: moja sytuacja była specyficzna dla Cygwin.
TL; DR Umieść to w swoim pliku .bashrc:
function settitle() {
export PS1="\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n$ "
echo -ne "\e]0;$1\a"
}
Umieść to w swoim pliku .tmux.conf lub w podobnym formacie:
set -g pane-border-status bottom
set -g pane-border-format "#P #T #{pane_current_command}"
Następnie możesz zmienić tytuł panelu, wpisując w konsoli:
settitle titlename
Możesz dostosować tytuł panelu, ustawiając obramowanie panelu w tmux.conf, na przykład w ten sposób:
###############
# 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
Gdzie pane_index, pane_title i pane_current_path to zmienne dostarczane przez samo tmux.
Po ponownym załadowaniu konfiguracji lub uruchomieniu nowej sesji tmux możesz ustawić tytuł bieżącego panelu w następujący sposób:
tmux select-pane -T "fancy pane title";
#or
tmux select-pane -t paneIndexInteger -T "fancy pane title";
Jeśli we wszystkich panelach są uruchomione jakieś procesy, więc nie możesz użyć wiersza poleceń, możesz również wpisać polecenia po naciśnięciu przedrostka bind (domyślnie Cb) i dwukropka (:) bez „tmux” na początku Komenda:
select-pane -T "fancy pane title"
#or:
select-pane -t paneIndexInteger -T "fancy pane title"
tmux
pokazaniu tego.