tmux new pane tiene el directorio de inicio como predeterminado en lugar del directorio anterior

24

Cuando presiono Ctrl+ "(crear un nuevo panel) mientras estoy en un panel, que tiene, PWD /tmppor ejemplo, el nuevo panel comienza como mi carpeta de inicio ~.

Miré /unix//a/109255/72471 y me ayudó con el mismo problema relacionado con Windows.

Sin embargo, no pude solucionar el split-windowproblema insertando

bind " split-window -c "#{pane_current_path}"

en mi ~/.tmux.conf.

Estoy usando tmux 1.9a y, por lo tanto, no quiero una solución bastante desordenada para las versiones anteriores que se indican aquí (de todos modos, no funciona en mi caso):

bind '"' set default-path "" \; split-window -v \; set -u default-path

¿Cómo puedo decir tmuxque establezca el directorio predeterminado como la ruta actual de un panel, al crear un nuevo panel?

polimero
fuente

Respuestas:

45

Intente especificar vpara vertical u hhorizontal

Mi .tmux.confarchivo tiene:

bind \ split-window -h -c '#{pane_current_path}'  # Split panes horizontal
bind - split-window -v -c '#{pane_current_path}'  # Split panes vertically

(Yo uso \y -como divisores de panel de un dedo.)

Se abren nuevos paneles para mí usando mi directorio actual, donde sea que esté.
¡Sin duda es una característica clave para mí!

Otra cosa crítica con tmux (este fue el problema en este caso) es que debe aplicar los cambios con:

tmux source-file ~/.tmux.conf

Tenga en cuenta que cerrar terminales, incluso cerrar sesión y reiniciar, NO aplicará cambios tmux: debe usar ese comando (o usar Ctrl+ B :source-file ~/.tmux.conf).

Puede ver mi .tmux.confarchivo completo en https://github.com/durrantm/setups .

Michael Durrant
fuente
2
Usted dijo "Tenga en cuenta que cerrar terminales, incluso cerrar sesión y reiniciar NO aplicará cambios tmux". Por supuesto, si solo desconectó tmux, no lo hará, pero matar y reiniciar el servidor aplicará cambios :).
soyuka
2
¡Muchas gracias! Esto fue súper útil. Sin embargo, estoy bastante seguro de que reiniciar la computadora aplica cambios tmux :)
vitiral
Reiniciar la computadora no me aplicó cambios anteriormente, lo que me generó confusión. ymmv
Michael Durrant
Tenga en cuenta que se puede hacer lo mismo paranew-window
math2001
25
bind '%' split-window -h -c '#{pane_current_path}'  # Split panes horizontal
bind '"' split-window -v -c '#{pane_current_path}'  # Split panes vertically
bind c new-window -c '#{pane_current_path}' # Create new window

Agregue la última línea a su ~/.tmux.confpara mantener $PWDen una nueva ventana también.

Shubham
fuente
6

Eso es porque,

bind " split-window -c "#{pane_current_path}"

debiera ser

bind '"' split-window -c "#{pane_current_path}"
Giumo
fuente
2

En caso de que alguien llegue buscando, esto funciona bien con tmux 2.7 y debería estar bien con todas las versiones

unbind '"'
bind '"' split-window -v -c '#{pane_current_path}'  # Split panes vertically

unbind %
bind % split-window -h -c '#{pane_current_path}'  # Split panes horizontal
ShahinSorkh
fuente