Seite 1 von 1

VIM: Wie starte ich Python Skript mit Sonderzeichen im Namen

Verfasst: Samstag 20. März 2010, 23:51
von mutetella
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.

Verfasst: Sonntag 21. März 2010, 01:43
von sma
Geht prima unter OS/X:

Code: Alles auswählen

vim größer.py
i
print "Hallo"
ESC
:w
:!python "%"
Stefan

Verfasst: Sonntag 21. März 2010, 01:49
von DasIch
Modulnamen sollten keine Umlaute enthalten. It's not a bug, it's a feature :)

Verfasst: Sonntag 21. März 2010, 02:19
von Leonidas
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.

Verfasst: Sonntag 21. März 2010, 11:04
von mutetella
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!

Verfasst: Montag 29. März 2010, 07:17
von mutetella
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