2014-10-18 7 views
15

Ich habe tmux auf Linux-Systemen und Mac OSX ohne Probleme verwendet. Ich bin mir bewusst, dass ab Version 1.9 (ich habe 1.9a nach tmux -V), Sie müssen etwas in Richtung tmux split-window -c "#{pane_current_path}" tun. Das funktioniert aber nicht. Nichts scheint zu funktionieren.cygwin + tmux unter Windows 7 - Warum benutzt tmux den aktuellen Pfad nicht?

Der beste "Hinweis" den ich geben kann ist, dass der -c Parameter in irgendeiner Form erkannt wird, da ich einen Fehler über einen ungültigen Pfad erhalte, wenn ich ihm einen expliziten Pfad gebe, von dem ich weiß, dass er nicht existiert. Einen expliziten Pfad anzugeben, tut jedoch nichts (ich dachte, es gab ein Problem mit der Verwendung von pane_current_path.

Es besteht die Möglichkeit, dass hier zwei Fragen auftreten, da tmux nicht im aktuellen Ordner startet, was das Standardverhalten ist. ich glaube.

Jeder weiß, was los ist? Ist das erwartete Verhalten? Bin ich irgendwo eine Bibliothek fehlt?

+0

Ich bin mir nicht sicher, worum es beim Downvote geht ... Meine einzige Annahme (da es kein direktes Feedback gibt) ist, dass es von jemandem ist, der nicht mit Cygwin und/oder TMux vertraut ist, also bin ich mir nicht sicher Warum gab es hier zu beginnen? Wenn das Aufrechterhalten des gegenwärtigen Pfades für andere aus der Box funktioniert, wäre das sicher schön zu wissen. – toadjamb

+1

Gerade installiert tmux auf Cygwin, das gleiche Problem zu sehen. Hast du jemals eine Lösung gefunden? – nfarrar

+1

@nfarrar - kraiz antwortete mit der Lösung, die das OP nicht anerkennen und akzeptieren konnte. –

Antwort

13

Mit dem folgenden in Ihrem .tmux.conf ::

set-environment -g CHERE_INVOKING 1 

Dann tmux split-window -c "#{pane_current_path}" lassen Sie mich bei /, aber tmux split-window -c $PWD funktioniert.

bei http://article.gmane.org/gmane.comp.terminal-emulators.tmux.user/5921 Gefunden

+0

Das funktioniert nicht für mich. Wenn CHEME_INVOKING den Befehl 'tmux show-environment' ausführt, sollte CHERE_INVOKING erscheinen? – anishpatel

+1

Funktioniert für mich. Vielen Dank! – Wizmann

+0

Arbeitete wie ein Charme, danke! Ich wünschte, ich hätte diese Antwort vor einer Stunde finden können, bevor ich mir all die anderen verdammten Slashdot-Antworten angeschaut habe. – Dakusan

8

kraiz's answerset-environment und $PWD mit nicht für mich arbeiten.

Stattdessen stelle ich die Umgebungsvariable in meinem Login-Skript (~/.bash_profile für bash, ~/.zprofile für zsh):

export CHERE_INVOKING=1 

Auch $PWD nicht für mich arbeiten, aber #{pane_current_path} tat. Hier ist ein Ausschnitt meiner .tmux.conf:

bind c new-window -c "#{pane_current_path}" 
bind '"' split-window -c "#{pane_current_path}" 
bind % split-window -h -c "#{pane_current_path}" 

Software: tmux 2.0, Cygwin 1.7.35, zsh 5.0.6, 10 Windows-

0

#{pane_current_path} immer ließ mich bei /. "$PWD" verließ mich immer bei ~. Ich deinstalliert das Ubuntu-Paket und kompiliert von der github master branch und jetzt funktioniert es perfekt mit #{pane_current_path}.

+0

Haben Sie noch etwas geändert? Es hat bei mir nicht funktioniert (beim Master überprüft). – laktak

+0

Nein, alles, was ich tun musste, war vom Master installieren. Hast du alle Abhängigkeiten installiert? – Marcel

+0

Ja. 'tmux -V' sagt 2.4. – laktak