Come rinominare un riquadro in tmux?


119

Come rinominare un riquadro in tmux?

Risposte:


186

Intendi finestra tmux? Ctrl + b + ,se hai Cb come prefisso di invio (è di default)

Inoltre C-b :rename-window <new name>e anche tmux rename-window <new name>lavorare.

Come so non puoi rinominare riquadro


Quando rinomino la finestra corrente, non riesco a vedere cosa sto digitando, è di default? O è dovuto alla mia configurazione? Anche se penso che la mia configurazione non impedisca tmuxdi mostrarlo.
zyy

Per chiarire, puoi rinominare un riquadro, e questo è necessario quando l'output binario accidentalmente lo danneggia. La risposta di @ Mapad risolve questo problema.
fuzzyTew

In che modo rinominare la finestra, quando viene chiesto di rinominare il riquadro, diventa la risposta accettata.
XMAN

che viene ripristinato ogni volta chels
anilbey

2
@anilbey Stesso qui. La soluzione a questo èset-option -g allow-rename off
joeytwiddle,

36

sì, puoi rinominare i nomi dei pannelli, e non solo i nomi delle finestre che iniziano con tmux> = 2.3. Basta digitare quanto segue nella shell:

printf '\033]2;%s\033\\' 'title goes here'

potresti dover aggiungere quanto segue al tuo .tmux.conf per visualizzare i nomi dei pannelli:

# Enable names for panes
set -g pane-border-status top

puoi anche assegnare automaticamente un nome:

set -g pane-border-format "#P: #{pane_current_command}"

C'è un modo per inserire gli argomenti di un comando nel formato del bordo del riquadro? Oh, c'è un problema corrispondente su GitHub.
Konstunn

15

Per coloro che eseguono script tmux, esiste un comando chiamato rename-window così ad es

tmux rename-window -t <window> <newname>

Nel mio caso era qualcosa come: tmux rename-window -t 9 my-project.
borracciaBlu

8

Per coloro che vogliono rinominare facilmente i propri pannelli, questo è quello che ho nel mio file .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

I riquadri vengono automaticamente denominati con il loro indice, il nome della macchina e il comando corrente. Per modificare il nome della macchina è possibile eseguire <C-b>Rche ti chiederà di inserire un nuovo nome.

* La ridenominazione del riquadro funziona solo quando sei in una shell.


4

Inoltre durante lo scripting, è possibile specificare un nome durante la creazione della finestra con -n <window name>. Per esempio:

# 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'

3

L'opzione più semplice per me era invece rinominare il titolo del terminale. Si prega di consultare: /superuser/362227/how-to-change-the-title-of-the-mintty-window

In questa risposta, menzionano di modificare la variabile PS1. Nota: la mia situazione era particolare per cygwin.

TL; DR Mettilo nel tuo file .bashrc:

function settitle() {
      export PS1="\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n$ "
      echo -ne "\e]0;$1\a"
}

Mettilo nel tuo file .tmux.conf o in una formattazione simile:

set -g pane-border-status bottom
set -g pane-border-format "#P #T #{pane_current_command}"

Quindi puoi modificare il titolo del riquadro digitando questo nella console:

settitle titlename

0

Puoi regolare il titolo del riquadro impostando il bordo del riquadro in tmux.conf, ad esempio in questo modo:

###############
# 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

Dove pane_index, pane_title e pane_current_path sono variabili fornite da tmux stesso.

Dopo aver ricaricato la configurazione o avviato una nuova sessione di tmux, puoi quindi impostare il titolo del riquadro corrente in questo modo:

tmux select-pane -T "fancy pane title";
#or
tmux select-pane -t paneIndexInteger -T "fancy pane title";

Se tutti i pannelli hanno dei processi in esecuzione, quindi non puoi usare la riga di comando, puoi anche digitare i comandi dopo aver premuto il prefisso bind (Cb per impostazione predefinita) e due punti (:) senza avere "tmux" davanti al comando:

select-pane -T "fancy pane title"
#or:
select-pane -t paneIndexInteger -T "fancy pane title"
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.