tmux new riquadro ha la home directory come predefinita invece della directory precedente


24

Quando premo Ctrl+ "(crea un nuovo riquadro) mentre ci si trova in un riquadro, PWD /tmpad esempio, il nuovo riquadro viene avviato come cartella home ~.

Ho guardato /unix//a/109255/72471 e mi ha aiutato con lo stesso problema relativo a Windows.

Tuttavia, non ho potuto risolvere il split-windowproblema inserendo

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

nel mio ~/.tmux.conf.

Sto usando tmux 1.9a e quindi non voglio una soluzione piuttosto disordinata per le versioni precedenti dichiarate qui (non funziona nel mio caso, comunque):

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

Come posso dire tmuxdi impostare la directory predefinita come percorso corrente di un riquadro, durante la creazione di un nuovo riquadro?

Risposte:


45

Prova a specificare vper verticale o horizzontale

Il mio .tmux.conffile ha:

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

(Uso \e -come divisori di riquadri con un dito.)

Nuovi riquadri si aprono per me utilizzando la mia directory corrente, ovunque io sia.
È sicuramente una caratteristica chiave per me!

Un'altra cosa critica con tmux (questo era il problema in questo caso) è che devi applicare le modifiche con:

tmux source-file ~/.tmux.conf

Si noti che la chiusura dei terminali, anche la disconnessione e il riavvio, NON applicheranno queste modifiche: è necessario utilizzare effettivamente quel comando (o usare Ctrl+ B :source-file ~/.tmux.conf).

Puoi vedere il mio .tmux.conffile completo su https://github.com/durrantm/setups .


2
Hai detto "Nota che chiudere i terminali, anche disconnettersi e riavviare NON applicherà più modifiche". Ovviamente se hai rimosso solo tmux non lo farà, ma uccidere e riavviare il server applicherà le modifiche :).
soyuka,

2
Grazie mille! Questo è stato super utile. Tuttavia, sono abbastanza sicuro che il riavvio del computer applica le modifiche apportate a :)
vitiral

Il riavvio del computer non ha applicato modifiche per me che in precedenza mi hanno causato confusione. ymmv
Michael Durrant,

Si noti che la stessa cosa può essere fatta pernew-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

Aggiungi l'ultima riga alla tua ~/.tmux.confper mantenerla anche $PWDin una nuova finestra.


6

È perché,

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

dovrebbe essere

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

2

Nel caso in cui qualcuno arrivi qui cercando, questo funziona bene con tmux 2.7 e dovrebbe andare bene con probabilmente tutte le versioni

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

unbind %
bind % split-window -h -c '#{pane_current_path}'  # Split panes horizontal
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.