tmux Konfiguration, um den Tabulatornamen in den Basisnamen des Arbeitsverzeichnisses umzubenennen

754
hgiesel

Ich habe diese Einstellung, die das aktuelle Fenster in mein aktuelles Verzeichnis umbenennen soll, indem Sie drücken <prefix>.

bind-key . run -b "tmux rename-window $(basename #)" 

Aus irgendeinem Grund funktioniert es nicht. Im Moment gibt es einen 127 Fehler. Ich versuchte es basenamemit zu ersetzen, /usr/bin/basenameaber das half auch nicht. Ich weiß nicht, was ich an diesem Punkt falsch mache ...

0

1 Antwort auf die Frage

0
Satya Mishra

Bearbeiten: Meine ursprüngliche Antwort war falsch und arbeitete als Zufall. Kamils ​​nachfolgender Kommentar veranlasste mich, es noch einmal zu überdenken.

Die folgenden Befehle funktionieren für mich, einschließlich Pfade mit Leerzeichen.

bind-key . run -b 'tmux rename-window "`basename \"#\"`"'

oder

bind-key . run -b 'NEWNAME="#"; tmux rename-window "$"'

Ich hatte ähnliche Gedanken. Dann habe ich den Originalcode des OPs überprüft - und ** es funktioniert für mich ** (Ubuntu 14.04.4 LTS, tmux_1.8-5_amd64.deb). Es ist nicht perfekt, es kann Probleme geben, wenn innerhalb des Verzeichnisnamens ein Leerzeichen vorhanden ist (korrekte Verwendung von "\" `behebt das Problem), aber ich konnte den Fehler des OP nicht reproduzieren. Ihre Version funktioniert auch für mich. Ich frage mich, wie es verhält sich in der Umgebung von OP. Kamil Maciorowski vor 7 Jahren 0
Tatsächlich funktioniert der ursprüngliche Befehl von OP für mich (tmux 2.2 unter OSX). Ich habe es nie probiert! Dass meine Mine funktioniert, ist ein bisschen Zufall. Dem Mann zufolge führt Run-Shell bereits eine variable Substitution durch. Satya Mishra vor 7 Jahren 0
Dies gibt mir immer noch einen Fehler. Es ist nicht so, dass dies die einzige Anweisung in der Konfigurationsdatei ist, aber nur diese gibt mir einen solchen Fehler. hgiesel vor 7 Jahren 0
@hgiesel Welches Gebietsschema verwenden Sie? Vielleicht handelt es sich um ein Unicode-Problem? Könnten Sie ein Beispiel für einen Pfad angeben, der den Fehler generiert? Satya Mishra vor 7 Jahren 0
@SatyaMishra Ich kann sogar zum root gehen und es wird immer noch diese Fehlermeldung ausgegeben hgiesel vor 7 Jahren 0
@hgiesel Das ist interessant! Könnten Sie uns die Plattform und das Gebietsschema nennen? Sie finden das Gebietsschema mit `echo $ LANG` Satya Mishra vor 7 Jahren 0
`en_US` und OS X (macOS) El Capitan 10.11. Nichts wirklich interessantes. hgiesel vor 7 Jahren 0
@Hgiesel geb ich auf. Ich habe genau das gleiche Setup mit tmux 2.2 (von Homebrew) und es funktioniert gut für mich. Satya Mishra vor 7 Jahren 0