Comment changer le nouveau répertoire par défaut depuis tmux


43

Je suis récemment passé de l' écran GNU à tmux .
Je le trouve assez similaire mais avec un support plus important (j'ai changé en raison d'un problème de temps d'échappement dans neovim - la résolution ne concernait que tmux).

Malheureusement, dans tmux, je ne parviens pas à trouver une commande similaire à celle-ci:

screen -X eval "chdir $(some_dir)"

La commande ci-dessus a changé le répertoire par défaut pour la nouvelle fenêtre / écran / volet à partir de l'écran GNU. Ainsi, lorsque j'ai appuyé sur Ctrl+ a(semblable à tmux Ctrl+ b), une nouvelle fenêtre s'est ouverte dans le $(some_dir)répertoire.

Y at-il une chose similaire dans tmux?

REPONSE:
J'ai utilisé @Lqueryvg answer et je l'ai combiné avec la suggestion de @Vincent Nivoliers à partir d'un commentaire, ce qui m'a donné une nouvelle liaison pour une commande attach -c "#{pane_current_path}"qui définit mon répertoire actuel comme répertoire par défaut.
Merci.


Vous pouvez utiliser la deuxième réponse de cette question
Vincent Nivoliers

Merci, c'est utile. new-window -c "#{pane_current_path}"fonctionne mais ce que j’ai besoin, c’est d’établir le chemin de façon permanente, c’est-à-dire: je travaille dans un projet dans / aaa / bbb mais j’ai quand même changé de chemin pour dire / ccc / ddd et recommencer à zéro avec Cb et c que je veux. atterrir une fois de plus dans / aaa / bbb. Pouvez-vous penser à une solution à cela?
lewiatan

Personnellement, je vais bien avec l’ajout des trois dernières lignes de mon texte .tmux.conf. De cette façon, je n'ai qu'à naviguer une fois dans le dossier, puis à créer mes fenêtres / fenêtres à partir de là, mais je reconnais que ce n'est pas une solution à votre problème, c'est pourquoi je n'ai pas posté de réponse!
Vincent Nivoliers

Réponses:


62
  1. Commencez tmuxcomme suit:

    (cd /aaa/bbb; tmux)
    

    Désormais, toutes les nouvelles fenêtres (ou volets) que vous créez commenceront dans un répertoire /aaa/bbb, quel que soit le répertoire en cours du volet en cours.

  2. Si vous souhaitez modifier le répertoire par défaut une fois tmuxopérationnel, utilisez attach-sessionavec -c.

    Citant la tmuxpage de manuel pour attach-session:

    -c will set the session working directory (used for new windows)
    to working-directory.
    

    Par exemple:

    • Ctrl+b :

    • attach -c /ddd/eee

    Les nouvelles fenêtres (ou volets) vont maintenant démarrer dans le répertoire /ddd/eee, quel que soit le répertoire du volet actuel.


7
La deuxième option est exactement ce que je voulais. Je vais utiliser attach -c "#{pane_current_path}"ce qui serait le même que ce que j'ai eu à l'écran. Merci.
lewiatan

Oui! attach -cest exactement ce que je cherchais. Merci
Byron Mansfield

3

Pour ceux qui recherchent peut-être un peu plus de références que la réponse sélectionnée, il existe une autre bonne réponse à cette question sur StackOverflow:

https://stackoverflow.com/questions/27307815/how-to-change-the-starting-directory-of-a-tmux-session

Ce qui fournit des moyens de le faire sans quitter la session, et pour ceux qui utilisent tmux de manière multi-session (comme moi), la réponse ci-dessus donne un contexte un peu meilleur quant au fonctionnement de attach/ attach-session.

Voir les deux réponses disponibles pour différentes manières de les utiliser. J'ai trouvé les deux utiles et perspicaces.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.