VIM: Wie starte ich Python Skript mit Sonderzeichen im Namen

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Hallo,

obwohl ich mir die Finger wundgegoogelt und alles mögliche und teils absurde versucht habe, stehe ich am Ende meiner bescheidenen Weisheit! Alles, was ich möchte, ist folgendes:

Code: Alles auswählen

map <F5> :w<CR>:!gnome-terminal --profile='vimF5' -x python "%"<CR>
Funktioniert soweit auch prächtig, nur nicht, wenn im Pfad ein Sonderzeichen vorkommt. Dann setzt VIM vor diese Sonderzeichen ein Backslash und python findet natürlich nix mehr.

Wie kann ich also aus VIM den Pfad meines Pythonscripts an die Shell übergeben, ohne dass vorher eine Sonderzeichen-Verkuhwedelung stattfindet?

Danke schon mal.... !!!!

Gruß
mutetella

P.S.: Komisch ist, dass ich über die :reg-Ausgabe hinter der %-Variablen genau das sehe, was ich eigentlich an die Shell übergeben will, nämlich eine Pfad-/Dateiangabe ohne Backslash vor jedem Sonderzeichen.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Geht prima unter OS/X:

Code: Alles auswählen

vim größer.py
i
print "Hallo"
ESC
:w
:!python "%"
Stefan
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Modulnamen sollten keine Umlaute enthalten. It's not a bug, it's a feature :)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

DasIch hat geschrieben:Modulnamen sollten keine Umlaute enthalten. It's not a bug, it's a feature :)
Von Modulnamen war nicht speziell die Rede (in dem Fall würde ich aber auch davon abraten), aber Pfade mit Umlauten können durchaus vorkommen. Etwa bei Dateien in Günthers Homeverzeichnis.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Ok, ich hab' Euch nicht die ganze Wahrheit gesagt... :oops:

Ich habe ein Verzeichnis /Test_(), darin ein Pythonskript größer.py. Wenn ich nun ein Terminal öffne und in das Verzeichnis /Test_() wechsle, darin vim größer.py aufrufe und das Skript über !python "%" starte, funktioniert alles prächtig.
Wenn ich allerdings Vim über gnome-terminal -x vim /Test_()/größer.py aufrufe und !python "%" aufrufe, erhalte ich die python-Fehlermeldung

python: can't open file 'Test_\(\)/größer.py': [Errno 2] No such file or directory

Vielleicht eher ein Problem mit gnome-terminal...? Ich dachte zuerst, dass Sonderzeichen das Problem sind, allerdings taucht der Fehler nur auf, wenn einfache Klammern () im Pfadnamen vorkommen. Eckige oder geschweifte Klammern, Umlaute etceterapepe stellen kein Problem dar. Sehr komisch, wenn man nicht weiß, warum!
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Nachtrag: Nachdem sich das Problem mit den einfachen () Klammern im Pfad- oder Dateinamen irgendwie nicht lösen lässt, verzichte ich halt einfach darauf.

Falls allerdings noch jemand über diesen Thread stolpert und zumindest eine Erklärung dafür hätte, würde mich das sehr interessieren.

Gruß
mutetella
Antworten