Mittels .vimrc Dokument "compilieren" ala :map etc.

H

hellwoofa

Archer
Sorry, ein besserer Titel fiel mir nicht ein...

Ich versuch mein Problem mal von ganz von vorne zu erklären:
Markdown, eine sogenannte "Light markup language" stellt eine leichtere Alternative zum relativ umständlich zu schreibenden HTML, für Infos einfach mal hier*vorbeischaun.

Da ich für Markdown ein schönes Syntax-File für vim gefunden habe und das Editieren in vim einfach besser von der Hand geht als in nem anderen Programm, wo ich für Cursorbewegungen zu den Pfeiltasten rüber muss, wollte ich auch gleich das Umwandeln in gültigen XHTML-Code mittels einer Tastenkombination innerhalb von vim erledigen.

Habe dann auf einer Seite im Internet ein Beispiel für LaTeX gefunden, welches so aussieht:

:map ^L :w!^M:!clear; echo Making Postscript % ...; pdflatex %; xpdf %<.pdf&^M^M

Mittels Ctrl-L wird dann das Dokument compiliert, automatisch xpdf geöffnet und wenn für gut befunden, schließe ich xpdf wieder und mache mit der Arbeit weiter.

Nun isses bei Markdown so, dass die Implementierungen den Code direkt ausgeben, weswegen man beim Map-Befehl die Ausgabe in ne Datei umleiten muss.

Da ich, um das Syntax-Highlighting zu benutzen, die Dateien aber mit der Endung .mkd versehe, erhalte ich bei der folgenden Einstellung:
:map ^M :w!^M:!clear; echo compiling Markdown-Document % ...; markdown.pl % >%.html&^M^M
Dateien nach dem Muster 12-1.mkd.html

Ich hätte aber gerne das .mkd raus!

Nun, ich habe schon versucht, mittels eines eingefügten "echo % | cut -d . -f1" nur den eigentlichen Dateinamen weiterzugeben, das wird von vim aber nicht akzeptiert. Weder mit `` noch mit "" um die einzelnen Funktionen ist da was zu machen. Wo liegt das Problem?

kann mir da jemand weiterhelfen?

Thanks in advance + Grüße vom

Jaköble
 
Hallo

Kenne dieses Markdown zwar nicht, hab auch keine Lust mich da reinzulesen.
Aber könnte es sein, dass dieser Konverter markdown.pl ein Perlscript ist?
Dann könntest du da drin mal nachsehen an welcher Stelle der Dateiname erzeugt wird, und das entsprechend editieren.

Gruß Wolfgang
 
Um Markdown gehts ja eigentlich auch gar nicht.
Ja, es is ein Perlscript.

Aber wird die Variable "%" (der Dateiname) nicht von vi vergeben? Sonst könnte ich das na klar in ein kleines Script packen, ich will ja nur, dass mir das ".mkd" da rausgeschnitten wird.

Das Perlscript kennt zwar den Namen der Datei, die ich ihm zum Fraß vorwerfe, gibt das Ergebnis aber nicht als Datei sondern in stdout aus, weswegen das ja so doof ist (nich wie bei z.B. pdflatex, wo einfach ne *.pdf erstellt wird und keine *.tex.pdf)

Hoffe, das war jetzt halbwegs verständlich! :)
 
Zurück
Oben