tutorial mac how commands comandos configuration tmux

configuration - mac - tmux tutorial



Tmux: ¿Cómo configurar tmux para mostrar el directorio de trabajo actual de un panel en la barra de estado? (3)

Desafortunadamente, la solución propuesta no funciona para la versión 1.7 - "versión oficial" para OpenSuse 12.3, pero logré encontrar una solución:
En /etc/tmux.conf :

setw -g window-status-current-format "#T(#I:#W#F)" setw -g window-status-format "#T(#I:#W#F)"

Aquí #T - dice que muestre el título del panel actual, que se puede configurar con alguna secuencia de escape. Para hacer esto en cada comando de shell, coloca en algún lugar en .bashrc :

[[ -n "$TMUX" ]] && PROMPT_COMMAND=''echo -n -e "/e]2;${PWD/${HOME}/~}/e//"''

Esto funciona para mí en OpenSuse 12.3, tmux 1.7, bash 4.2.53.

Soy nuevo en tmux y estoy tratando de editar mi archivo tmux.conf para que refleje el lado izquierdo de la barra de estado:

[SessionName] [CurrentPane] [CurrentWorkingDirectory]

Puedo mostrar el SessionName y el CurrentPane . Sin embargo, no puedo mostrar el CurrentWorkingDirectory .

He intentado varias opciones #(shell command) :

  1. #(tmux select-pane -t :.#P; pwd) : pero esto imprime otra variable $ PWD que NO refleja el directorio actual de la sesión bash en el panel actual.

  2. #(tmux select-pane -t :.#P; tmux send-keys pwd Enter) En primer lugar, aunque imprimió el CurrentWorkingDirectory si estoy en un terminal. Imprime esto en el terminal y NO en la barra de estado como lo quiero. En segundo lugar, ingresó "pwd Enter" cada 15 segundos ya sea que estuviera o no en un terminal, lo cual era una molestia para revertir si no era tan rápido (como yo).

He intentado estas opciones, pero fue en vano, ¿es posible hacer lo que quiero? ¿y cómo?


Hay una variable para eso, que no parece estar en la página de manual, pero se menciona en la versión de desarrollo. Para mí, funciona en la versión 1.8 de tmux.

set -g status-left "#{pane_current_path}"

Tenga en cuenta que también funciona cuando lo coloca en el estado de la ventana. Cada estado de ventana mencionará los directorios de trabajo respectivos.

setw -g window-status-format "#{pane_current_path}".


No estoy seguro de cómo hacer esto en bash, pero en zsh, hay un gancho que se ejecuta antes de cada comando. En tu .zshrc:

precmd () { tmux set -qg status-left "#S #P $(pwd)" }

Esto ejecutará ese comando tmux cada vez que ejecute un comando. Espero que esto ayude. Como bash no tiene un precmd , no estoy seguro de cómo hacer esto.