O novo painel do tmux possui o diretório inicial como padrão, em vez do diretório anterior

24

Quando pressiono Ctrl+ "(criar um novo painel) enquanto estiver em um painel, que possui, PWD /tmppor exemplo, o novo painel inicia como minha pasta pessoal ~.

Eu olhei para /unix//a/109255/72471 e isso me ajudou com o mesmo problema de janelas.

No entanto, não foi possível corrigir o split-windowproblema inserindo

bind " split-window -c "#{pane_current_path}"

no meu ~/.tmux.conf.

Estou usando o tmux 1.9a e, portanto, não quero uma solução bastante confusa para versões mais antigas declaradas aqui (não funciona no meu caso, de qualquer maneira):

bind '"' set default-path "" \; split-window -v \; set -u default-path

Como posso saber tmuxpara definir o diretório padrão como o caminho atual de um painel ao criar um novo painel?

polym
fonte

Respostas:

45

Tente especificar vpara vertical ou hhorizontal

Meu .tmux.confarquivo tem:

bind \ split-window -h -c '#{pane_current_path}'  # Split panes horizontal
bind - split-window -v -c '#{pane_current_path}'  # Split panes vertically

(Eu uso \e -como divisores de painel de um dedo.)

Novos painéis são abertos para mim usando meu diretório atual, onde quer que eu esteja.
É certamente uma característica fundamental para mim!

Outra coisa crítica com o tmux (esse foi o problema neste caso) é que você deve aplicar as alterações com:

tmux source-file ~/.tmux.conf

Note que fechar terminais, mesmo desconectando e reiniciando, NÃO aplicará as alterações do tmux - você precisa realmente usar esse comando (ou usar Ctrl+ B :source-file ~/.tmux.conf).

Você pode ver meu .tmux.confarquivo completo em https://github.com/durrantm/setups .

Michael Durrant
fonte
2
Você disse "Observe que o fechamento de terminais, mesmo o logoff e a reinicialização NÃO aplicarão alterações no tmux". Obviamente, se você apenas desconectou o tmux, ele não matará e reiniciará o servidor aplicará as alterações :).
soyuka 11/02
2
Muito obrigado! Isso foi super útil. No entanto, eu tenho certeza de reiniciar o computador se aplica tmux mudanças :)
vitiral
Reiniciar o computador não aplicou alterações para mim anteriormente, causando confusão para mim. ymmv
Michael Durrant
Note-se que a mesma coisa pode ser feita paranew-window
math2001
25
bind '%' split-window -h -c '#{pane_current_path}'  # Split panes horizontal
bind '"' split-window -v -c '#{pane_current_path}'  # Split panes vertically
bind c new-window -c '#{pane_current_path}' # Create new window

Adicione a última linha ao seu ~/.tmux.confpara manter $PWDem uma nova janela também.

Shubham
fonte
6

Isso é porque,

bind " split-window -c "#{pane_current_path}"

deveria estar

bind '"' split-window -c "#{pane_current_path}"
Giumo
fonte
2

Caso alguém chegue aqui pesquisando, isso funciona bem com o tmux 2.7 e deve estar ok com provavelmente todas as versões

unbind '"'
bind '"' split-window -v -c '#{pane_current_path}'  # Split panes vertically

unbind %
bind % split-window -h -c '#{pane_current_path}'  # Split panes horizontal
ShahinSorkh
fonte