Quando crio várias sessões no tmux, o diretório atual para cada nova janela nas sessões subseqüentes é definido como o diretório atual para a primeira.
Por exemplo:
-> cd /home/one && tmux new-session -n one\; new-window -n two
# /home/one is the current directory for each window
-> cd /home/two && tmux new-session -n three\; new-window -n four #\; etc.
# "/home/two" is the current directory for the window "three"
# but for the window "four" and other created windows it is "/home/one"
Como forçar o tmux a definir o diretório atual para cada nova janela nas sessões subseqüentes como o diretório em que a sessão foi criada?
tmux 1.6
zsh 4.3
split-window -h "#{pane_current_path}"
não vai funcionar ...split-window -h -c "#{pane_current_path}"
Percebo que essa pergunta é bastante antiga, mas surgiu como uma das únicas perguntas no StackExchange quando eu estava procurando a resposta, então aqui está como eu a resolvi para o tmux 1.8.
O
new-window
comando aceita um-c
sinalizador que permite especificar o diretório atual da nova janela. Por padrão, é uma sequência vazia, que utilizará o diretório de trabalho dos painéis atuais como o diretório da nova janela. Passar a-
como o valor do-c
sinalizador definirá o diretório da nova janela para o que a sessão foi aberta.Aqui está um trecho dos documentos:
Se você deseja alterar o comportamento padrão da
<PREFIX> c
combinação de teclas para refletir isso, aqui está o que eu fiz no meu~/.tmux.conf
:fonte
existem algumas respostas aqui: /unix/12032/create-new-window-with-current-directory-in-tmux
Em suma:
no FAQ do tmux, uma maneira obtusa (mas muito geral e bastante independente do shell):
simplesmente substitua as chamadas para o shell conforme apropriado para o seu.
Além disso, versões aparentemente mais recentes do tmux têm isso endereçado com um comando
Diz-se que versões mais antigas funcionam da seguinte maneira:
chamando
do seu shell abrirá o tmux nesse diretório.
se você deseja abrir novas janelas ou painéis do diretório de trabalho atual no tmux, deve:
fonte