A partir de tmux 1.9, a opção default-path
foi removida, portanto, você precisa usar a opção -c
com new-window
e split-window
(por exemplo, religando a c
, "
e %
de ligações para incluir -c '#{pane_current_path}'
). Veja algumas das outras respostas a esta pergunta para detalhes.
Um recurso relevante foi lançado no tronco SVN tmux no início de fevereiro de 2012. Em compilações tmux que incluem esse código, tmux invoke new-window
criará uma nova janela com o mesmo diretório de trabalho atual que os processos ativos do painel atual (contanto que a opção default-path
session esteja vazia; ela é por padrão). O mesmo é verdadeiro para o painel criado pelo comando split-window
quando ele é chamado por meio de uma ligação.
Isso usa um código especial específico da plataforma, portanto, apenas alguns sistemas operacionais são suportados no momento: Darwin (OS X), FreeBSD, Linux, OpenBSD e Solaris.
Isso deve estar disponível na próxima versão do tmux (1.7?).
Com o tmux 1.4, normalmente uso apenas
tmux neww
em um shell que já possui o diretório de trabalho atual desejado.
Se, no entanto, eu prevejo precisar criar muitas janelas com o mesmo diretório de trabalho atual (ou eu quero ser capaz de iniciá-las com a usual ligação de chave < prefix & #; c
), então defino o default-path
opção de sessão via
tmux set-option default-path "$PWD"
em um shell que já possui o diretório de trabalho atual desejado (embora você possa obviamente fazê-lo de qualquer diretório e apenas especificar o valor).
Se default-path
for definido como um valor não vazio, seu valor será usado em vez de "herdar" o diretório de trabalho atual das chamadas da linha de comandos de tmux neww
.
A tmux FAQ tem uma entrada intitulada "Como pode Eu abro uma nova janela no mesmo diretório da janela atual? ”, Que descreve outra abordagem; é um pouco confuso embora.