¿Cómo cambiar el nombre de un panel en tmux?


119

¿Cómo cambiar el nombre de un panel en tmux?

Respuestas:


186

¿Te refieres a la ventana tmux? Ctrl + b + ,si tiene Cb como prefijo de envío (es por defecto)

También C-b :rename-window <new name>y tmux rename-window <new name>trabajo también.

Como sé, no se puede cambiar el nombre del panel


Cuando cambio el nombre de la ventana actual, no puedo ver lo que estoy escribiendo, ¿es eso por defecto? ¿O se debe a mi configuración? Aunque creo que mi configuración no impide tmuxmostrar eso.
zyy

Para aclarar, puede cambiar el nombre de un panel, y esto es necesario cuando la salida binaria accidentalmente lo corrompe. La respuesta de @ Mapad resuelve esto.
fuzzyTew

¿Cómo cambiar el nombre de la ventana, cuando se solicita el cambio de nombre del panel, se convierte en la respuesta aceptada?
XMAN

que se ls
revierte

2
@anilbey Lo mismo aquí. La solución a eso esset-option -g allow-rename off
joeytwiddle

36

sí, puede cambiar el nombre de los paneles, y no solo los nombres de las ventanas que comienzan con tmux> = 2.3. Simplemente escriba lo siguiente en su shell:

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

es posible que deba agregar lo siguiente a su .tmux.conf para mostrar los nombres de los paneles:

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

también puede asignar un nombre automáticamente:

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

¿Hay alguna forma de poner argumentos de un comando en el formato de borde de panel? Oh, hay un problema correspondiente en github.
Konstunn

15

Para aquellos que escriben tmux, hay un comando llamado, rename-window por ejemplo,

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

En mi caso fue algo así como: tmux rename-window -t 9 my-project.
borracciaBlu

8

Para aquellos que quieran cambiar fácilmente el nombre de sus paneles, esto es lo que tengo en mi .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

Los paneles se nombran automáticamente con su índice, nombre de máquina y comando actual. Para cambiar el nombre de la máquina, puede ejecutar lo <C-b>Rque le pedirá que ingrese un nuevo nombre.

* El cambio de nombre del panel solo funciona cuando está en un shell.


4

Además, al crear un script, puede especificar un nombre al crear la ventana con -n <window name>. Por ejemplo:

# 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

La opción más fácil para mí fue cambiar el nombre del título de la terminal. Consulte: /superuser/362227/how-to-change-the-title-of-the-mintty-window

En esta respuesta, mencionan modificar la variable PS1. Nota: mi situación era particular de cygwin.

TL; DR Pon esto en tu archivo .bashrc:

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

Ponga esto en su archivo .tmux.conf, o en un formato similar:

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

Luego, puede cambiar el título del panel escribiendo esto en la consola:

settitle titlename

0

Puede ajustar el título del panel configurando el borde del panel en tmux.conf, por ejemplo, de esta manera:

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

Donde pane_index, pane_title y pane_current_path son variables proporcionadas por el propio tmux.

Después de volver a cargar la configuración o iniciar una nueva sesión de tmux, puede establecer el título del panel actual de esta manera:

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

Si todos los paneles tienen algunos procesos en ejecución, por lo que no puede usar la línea de comandos, también puede escribir los comandos después de presionar el prefijo bind (Cb por defecto) y dos puntos (:) sin tener "tmux" al frente del mando:

select-pane -T "fancy pane title"
#or:
select-pane -t paneIndexInteger -T "fancy pane title"
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.