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.