Antworten:
Meinst du tmux window? Ctrl + b + ,
Wenn Sie Cb als Sendepräfix haben (standardmäßig)
Auch C-b :rename-window <new name>
und tmux rename-window <new name>
arbeiten auch.
Wie ich weiß, können Sie den Bereich nicht umbenennen
ls
set-option -g allow-rename off
Ja, Sie können Fensternamen umbenennen und nicht nur Fensternamen, die mit tmux> = 2.3 beginnen. Geben Sie einfach Folgendes in Ihre Shell ein:
printf '\033]2;%s\033\\' 'title goes here'
Möglicherweise müssen Sie Ihrer .tmux.conf Folgendes hinzufügen, um Fensternamen anzuzeigen:
# Enable names for panes
set -g pane-border-status top
Sie können auch automatisch einen Namen zuweisen:
set -g pane-border-format "#P: #{pane_current_command}"
Für die Skripterstellung von tmux gibt es einen Befehl rename-window
, der z
tmux rename-window -t <window> <newname>
Für diejenigen, die ihre Fenster einfach umbenennen möchten, ist dies das, was ich in meinem habe .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
Fenster werden automatisch mit ihrem Index, dem Computernamen und dem aktuellen Befehl benannt. Um den Computernamen zu ändern, können Sie ausführen, <C-b>R
wodurch Sie aufgefordert werden, einen neuen Namen einzugeben.
* Das Umbenennen von Fenstern funktioniert nur, wenn Sie sich in einer Shell befinden.
Auch beim Erstellen von Skripten können Sie beim Erstellen des Fensters mit einen Namen angeben -n <window name>
. Beispielsweise:
# 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'
Die einfachste Möglichkeit für mich war, stattdessen den Titel des Terminals umzubenennen. Weitere Informationen finden Sie unter: /superuser/362227/how-to-change-the-title-of-the-mintty-window
In dieser Antwort wird erwähnt, dass die PS1-Variable geändert werden soll. Hinweis: Meine Situation war speziell für Cygwin.
TL; DR Fügen Sie dies in Ihre .bashrc-Datei ein:
function settitle() {
export PS1="\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n$ "
echo -ne "\e]0;$1\a"
}
Fügen Sie dies in Ihre .tmux.conf-Datei oder in eine ähnliche Formatierung ein:
set -g pane-border-status bottom
set -g pane-border-format "#P #T #{pane_current_command}"
Anschließend können Sie den Titel des Fensters ändern, indem Sie ihn in die Konsole eingeben:
settitle titlename
Sie können den Fenstertitel anpassen, indem Sie den Fensterrahmen in der Datei tmux.conf wie folgt festlegen:
###############
# 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
Wobei pane_index, pane_title und pane_current_path Variablen sind, die von tmux selbst bereitgestellt werden.
Nachdem Sie die Konfiguration neu geladen oder eine neue tmux-Sitzung gestartet haben, können Sie den Titel des aktuellen Bereichs wie folgt festlegen:
tmux select-pane -T "fancy pane title";
#or
tmux select-pane -t paneIndexInteger -T "fancy pane title";
Wenn in allen Fenstern einige Prozesse ausgeführt werden, sodass Sie die Befehlszeile nicht verwenden können, können Sie die Befehle auch eingeben, nachdem Sie die Präfixbindung (standardmäßig Cb) und einen Doppelpunkt (:) gedrückt haben, ohne dass "tmux" vor dem Befehl steht Befehl:
select-pane -T "fancy pane title"
#or:
select-pane -t paneIndexInteger -T "fancy pane title"
tmux
.