Saltar al contenido

¿Cómo crear una nueva ventana en el directorio actual en tmux?

Solución:

La página de manual actual (1.9a) de Tmux enumera una -c start-directory parámetro para algunos comandos, incluyendo new-window y split-window. También contiene la variable de formato pane_current_path, que se refiere a la
Current path if available.

Combinando estos, podemos abrir una nueva ventana con el directorio de trabajo actual usando
new-window -c "#{pane_current_path}"

Las citas son necesarias en caso de que la ruta actual contenga espacios.

Si desea dividir el panel actual verticalmente, use
split-window -c "#{pane_current_path}"

o, para una división horizontal
split-window -h -c "#{pane_current_path}"

Para hacer que las combinaciones de teclas abran nuevas divisiones y ventanas con el directorio de trabajo actual de forma predeterminada, agregue lo siguiente a su .tmux.conf. los " con comillas circundantes es para decirle a Tmux que no debe iniciar una cadena, sino unir el " llave.

bind '"' split-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
bind c new-window -c "#{pane_current_path}"

Empezando en tmux 1.9 el default-path se eliminó la opción, por lo que debe usar la -c opción con new-window, y split-window (por ejemplo, volviendo a unir el c, ", y % enlaces para incluir
-c '#{pane_current_path}'). Consulte algunas de las otras respuestas a esta pregunta para obtener más detalles.


Una característica relevante aterrizó en el tmux Tronco SVN a principios de febrero de 2012. En tmux compilaciones que incluyen este código, tmux vinculaciones de teclas que invocan new-window creará una nueva ventana con el mismo directorio de trabajo actual que los procesos activos del panel actual (siempre que el default-path la opción de sesión está vacía; es por defecto). Lo mismo es cierto para el panel creado por el split-window comando cuando se invoca a través de un enlace.

Esto usa un código especial específico de la plataforma, por lo que solo ciertos sistemas operativos son compatibles en este momento: Darwin (OS X), FreeBSD, Linux, OpenBSD y Solaris.

Esto debería estar disponible en la próxima versión de tmux (1,7?).


Con tmux 1.4, por lo general solo uso

tmux neww

en un shell que ya tiene el directorio de trabajo actual deseado.

Sin embargo, si anticipo la necesidad de crear muchas ventanas con el mismo directorio de trabajo actual (o quiero poder iniciarlas con el habitual

c enlace de teclas), luego configuro el default-path opción de sesión a través de

tmux set-option default-path "$PWD"

en un shell que ya tiene el directorio de trabajo actual deseado (aunque obviamente podría hacerlo desde cualquier directorio y simplemente especificar el valor en su lugar).

Si default-path se establece en un valor no vacío, su valor se utilizará en lugar de “heredar” el directorio de trabajo actual de las invocaciones de la línea de comandos de tmux neww.

los tmux Las preguntas frecuentes tienen una entrada titulada “¿Cómo puedo abrir una nueva ventana en el mismo directorio que la ventana actual?” que describe otro enfoque; aunque es un poco complicado.

Si, usa new-window -c "#{pane_current_path}". Puede agregar lo siguiente a su ~/.tmux.conf para hacerlo persistente (asumiendo combinaciones de teclas predeterminadas):

bind c new-window -c "#{pane_current_path}"
bind '"' split-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"

los default-path La configuración de ruta se eliminó del código ascendente y el autor de tmux recomendó en ese mensaje de confirmación utilizando -c "#{pane_current_path}" o -c "$PWD en el new-window y split-window comandos.

También respondí en esta pregunta duplicada.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *