Abra o terminal no diretório atual com o tmux

7

Eu tenho um arquivo .bashrc simples no momento que me permite sempre abrir o mesmo terminal (reabrir, na verdade) executando o tmux. A parte importante é mostrada abaixo.

A essência disso é que quando você executa tmux attach -d , desconecta qualquer tmux da sessão que está em execução, fechando efetivamente a janela do terminal que está aberta (desde que abri com o comando tmux ). O tmux ainda está em execução, portanto, chamar um terminal com tmux attach -d reabre essa sessão graças a uma pequena linha no arquivo de configuração do tmux.

Isso funciona muito bem, mas agora eu gostaria de ter a funcionalidade de volta que abre uma janela de terminal no diretório onde clico em "abrir terminal aqui".

Eu entendo que teria que fazer o seguinte:

  1. Diga tmux para "C-m C" (crie um novo painel)
  2. cd para o diretório atual

Isso é possível? Eu tenho um conhecimento muito limitado deste tipo de coisas, por isso estou perguntando.

Eu tenho procurado e encontrado esta essência (também mostrada abaixo). Faz sentido, mas não sei como obter a variável ${TARGET} dentro do arquivo .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

O arquivo 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"
    
por Christophe De Troyer 23.07.2014 / 16:41

1 resposta

1

O tmux sempre abre com o seu diretório de trabalho atual.

Por exemplo, se você estiver em / home / user / Desktop /, a sessão do tmux será iniciada apenas deste caminho.

E por favor, elabore sua pergunta.

    
por Dishank Jindal 26.07.2014 / 07:19