Der neue Bereich von tmux enthält standardmäßig das Ausgangsverzeichnis anstelle des vorherigen Verzeichnisses

24

Wenn ich in einem Bereich, in dem sich beispielsweise das befindet, auf Ctrl+ drücke "(einen neuen Bereich erstellen) PWD /tmp, wird der neue Bereich als mein Basisordner gestartet ~.

Ich habe unter /unix//a/109255/72471 nachgesehen und es hat mir bei dem gleichen Problem mit Windows geholfen.

Ich konnte das split-windowProblem jedoch nicht durch Einfügen beheben

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

in meine ~/.tmux.conf.

Ich verwende tmux 1.9a und möchte daher für ältere Versionen, die hier aufgeführt sind , keine ziemlich unordentliche Lösung haben (in meinem Fall funktioniert es sowieso nicht):

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

Wie kann ich tmuxbeim Erstellen eines neuen Bereichs festlegen, dass das Standardverzeichnis der aktuelle Pfad eines Bereichs ist?

Polym
quelle

Antworten:

45

Versuchen Sie, vfür vertikal oder hfür horizontal anzugeben

Meine .tmux.confDatei hat:

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

(Ich benutze \und -als Ein-Finger-Scheibensplitter.)

Überall, wo ich bin, öffnen sich neue Fenster für mich mit meinem aktuellen Verzeichnis.
Es ist auf jeden Fall ein Schlüsselmerkmal für mich!

Eine andere wichtige Sache bei tmux (das war das Problem in diesem Fall) ist, dass Sie Änderungen anwenden müssen mit:

tmux source-file ~/.tmux.conf

Beachten Sie, dass das Schließen von Terminals, auch wenn Sie sich abmelden und neu starten, KEINE tmux-Änderungen bewirkt - Sie müssen diesen Befehl tatsächlich verwenden (oder Ctrl+ verwenden B :source-file ~/.tmux.conf).

Sie können meine vollständige .tmux.confDatei unter https://github.com/durrantm/setups sehen .

Michael Durrant
quelle
2
Sie sagten: "Beachten Sie, dass das Schließen von Terminals, sogar das Abmelden und Neustarten, KEINE Änderungen an tmux zur Folge hat." Natürlich, wenn Sie nur tmux getrennt haben, wird es nicht anders sein, aber wenn Sie den Server beenden und neu starten, werden die Änderungen übernommen :).
Sojuka
2
Vielen Dank! Das war super hilfreich. Allerdings bin ich mir ziemlich sicher, dass ein Neustart des Computers die tmux-Änderungen übernimmt :)
vitiral
Beim Neustart des Computers wurden keine Änderungen für mich übernommen, die zu Verwirrung bei mir geführt haben. ymmv
Michael Durrant
Beachten Sie, dass die gleiche Sache kann getan werdennew-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

Fügen Sie die letzte Zeile zu Ihrer hinzu ~/.tmux.conf, um sie auch $PWDin einem neuen Fenster zu verwalten.

Shubham
quelle
6

Das ist, weil,

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

sollte sein

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

Falls jemand auf der Suche hierher kommt, funktioniert dies gut mit tmux 2.7 und sollte mit wahrscheinlich allen Versionen in Ordnung sein

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
quelle