Ich mag ja den :hardcopy Befehl vom allroundtexteditor Vim, für Mac OS X auch als MacVim bekannt. Er veranlasst das direkte Drucken der geöffneten Datei bzw. des Fensterinhaltes an den Standarddrucker oder unter Mac OS X die Druckvorschau.
Hat man die Syntaxhervorhebung aktiviert, wird der Quellcode entsprechend des gewählten Farbschemas farbig und lesbarer dargestellt und auch so gedruckt.
So kann es aber passieren, dass ein Farbschema am Bildschirm gut aussieht, aber auf dem Ausdruck nicht so optimal ist.
Der folgende Screenshot zeigt so einen beispielhaften Ausdruck, wo die Farben der Syntaxhervorhebung für mich aber zu dunkel und unscheinbar sind:
Bei einem anderen Farbschema sieht der Ausdruck besser und von den Farben her kräftiger aus, nur leider gefallen mir die Farben dann nicht mehr im Editor selbst:
Und genau hier ist der Knackpunkt. Denn ich kann beim Vim keine Option finden, mit welcher ich für die Anzeige und den Druck verschieden Farbschemas festlegen kann.
Nach einer Recherche im Netz bin ich auf folgenden Tipp gestossen, bei dem für den Ausdruck kurz das Farbschema gewechselt wird.
Ich hab das ganze etwas an meine Bedürfnisse angepasst und folgendes in meine .vimrc mit aufgenommen:
" special hardcopy (print) color scheme
function UseMyHardcopyColors(args)
if has("gui_running")
" save current colors
let save_bg=&bg
let save_cs=g:colors_name
" set new colors
set bg=light
colorscheme solarized
" call hardcopy
exec 'hardcopy '.a:args
" reset colors
exec 'set bg='.save_bg
exec 'colorscheme '.save_cs
else
exec 'hardcopy '.a:args
endif
endfunction
" set new command Hardcopy
command! -nargs=* Hardcopy call UseMyHardcopyColors('' )
Es folgt eine kurze Erklärung, was der obige Code macht:
- Es wird eine Funktion namens UseMyHardcopyColors angelegt.
- Es erfolgt eine Prüfung, ob wir uns im Terminal oder der grafischen Vim Version befinden.
- Es werden die aktuellen Farbeinstellungen gespeichert.
- Es werden die gewünschten Farbeinstellungen für den Druck gesetzt.
- Es wird der :hardcopy Befehl mit möglichen Argumenten ausgeführt.
- Es werden die ursprünglichen Farbeinstellungen wieder gesetzt.
- Als letztes wird ein neuer Befehl :Hardcopy (mit großem ‚H‘ am Anfang) angelegt, welcher die eben angelegte Funktion aufruft.
Möchte ich nun einen Quelltext mit meinem für den Druck gewünschten Farbschema drucken, wähle ich den neuen :Hardcopy Befehl. Alternativ kann ich dann immer noch den vorhanden :hardcopy Befehl, welcher sich an dem aktuellen Farbschema orientiert, nehmen.
[…] Vim – pimp my hardcopy « Tigions Blog. […]
Ne, ich komm einfach nicht mit macvim klar. die icons schrecken mich ab. im terminal benutzen ich ihn allerdings recht oft…
Du meinst die Toolbar? Die hab ich ausgeblendet, wie auch die anderen störenden Leisten und Scrollbars. Ist ein reines Editorfenster bei mir.