web-dev-qa-db-fra.com

Ouvrir le terminal dans le répertoire courant avec tmux

J'ai un simple fichier .bashrc pour le moment qui me permet de toujours ouvrir le même terminal (réouvrir, en fait) exécutant tmux. La partie importante est indiquée ci-dessous.

En gros, lorsque vous exécutez tmux attach -d, vous déconnectez toute session tmux en cours d'exécution, ce qui ferme la fenêtre de terminal ouverte (puisque je l'ai ouverte avec la commande tmux.). tmux est toujours en cours d'exécution, donc appeler un terminal avec tmux attach -d rouvre cette session grâce à une petite ligne dans le fichier de configuration tmux.

Cela fonctionne très bien, mais j'aimerais maintenant avoir la fonctionnalité qui ouvre une fenêtre de terminal dans le répertoire où je clique sur "Ouvrir le terminal ici".

Je comprends que je devrais faire ce qui suit:

  1. Dites tmux à "C-m C" (créer un nouveau panneau)
  2. cd vers le répertoire en cours

Est-ce possible? J'ai une connaissance très limitée de ce genre de choses, par conséquent je demande.

J'ai regardé autour et trouvé ce Gist (également présenté ci-dessous). Cela a du sens, mais je ne sais pas comment obtenir la variable ${TARGET} dans le fichier .bashrc.

. bashrc

116 # Start tmux every time we call up a terminal
117 [[ $TERM != "screen" ]] && exec tmux attach -d

tmux.conf

  1 #if run as "tmux attach", create a session if one does not already exist
  2 new-session -n $Host

Le fichier Gist

tmux_pwd () {
    [ -z "${TMUX}" ] && return
    TARGET=\-t$(tmux display-message -p "#S")
    tmux set-window-option ${TARGET} default-path $PWD > /dev/null
    (( sleep 300;
    tmux set-window-option ${TARGET} default-path  ~/Development > /dev/null; ) & ) > /dev/null 2>&1
}
alias pwd="\pwd; tmux_pwd"
7

Tmux s'ouvre toujours avec votre répertoire de travail actuel.

Par exemple, si vous êtes dans/home/utilisateur/Bureau /, la session tmux démarrera à partir de ce chemin uniquement.

Et s'il vous plaît élaborer votre question.

1
Dishank Jindal