Hi Andre! On Mi, 30 Dez 2009, Andre Tann wrote:
Servus Christian,
Christian Brabandt, Dienstag 29 Dezember 2009:
[gvim -c "set t_Co=8" -c "syntax on" -c "/^$" -c "set tw=72" -c "set number" --nofork "$1"]
Örks. Pack das in deine .vimrc bzw. Filetype-abhängige Konfiguration. Bei Interesse schreib ich das morgen mal in ausführlich.
Bitte, ja. Wie kann man denn erkennen, ob es sich um eine Mail handelt, die ich schreiben will? Nur weil die Datei in /tmp/kde-andre/... liegt, muß es doch keine Mail sein. Woran kann man es sonst festmachen?
Du hast da oben Einstellungen drin, die sich eher wie generelle Einstellungen lesen. Dafür ist ja gerade die .vimrc da. Man kann das natürlich alles per Hand in die Kommandozeile packen, aber das läßt sich ja nicht mehr vernünftig lesen. Nehmen wir das mal auseinander: :set t_Co=8 Ich frage mich, was du im Gvim mit :set t_Co=8 willst. Die Anzahl der Farben des Terminals sollte für gvim gar keine Rolle spielen. Auf aktuellen Systemen benötigt muß man sowas auch nicht auf 8 festnageln, weil erstens mittlerweile jeder vernünftige Terminalemulator mindestens 16 Farben unterstützt und vim selber das Terminal nach der Anzahl der Farben fragen kann (jedenfalls xterm, was da wohl die Referenz ist). Falls das mit den 8 Farben nicht stimmt, dann ist es wahrscheinlicher, dass deine termcap/terminfo Datenbank veraltet oder kaputt ist. Wie dem auch sei, ich benutze das zwar auch, aber nur um die Anzahl der Farben auf 256 einzustellen. :syntax on syntax on gehört eigentlich auch auf jeden Fall in die .vimrc, weil sowas will man ja eigentlich generell. Man kann es aber auch per Filetype einstellen. :--nofork kann man per Kommandozeile machen (alternativ -f). Oder auch in der .gvimrc einstellen (:set guioptions+=f) :set number tw=72 /^$ Die hören sich für mich nach filetype spezifischen Einstellung an. Damit das funktioniert, benötigst Du in Deiner .vimrc folgenden Eintrag ,---- | filetype plugin indent on `---- Wenn du Plugins und/oder indent Scripte nicht erlauben willst, lösche plugin/indent aus obiger Anweisung. Für mutt erkennt vim alleine bereits, dass es sich um eine Mail handelt. Vim errät das anhand des Namens. Per default erkennt Vim die folgenden Namen als Mail: ,---- | " Mail (for Elm, trn, mutt, muttng, rn, slrn) | au BufNewFile,BufRead snd.\d\+,.letter,.letter.\d\+,.followup,.article,.article.+\d\+,pico.\d\+,mutt{ng,}-*-\w\+,mutt[[:alnum:]_-]\{6\},ae\d\+.txt,/tmp/SLRN[0-9+A-Z.]\+,*.eml setf mail `---- Das wird für kmail höchstwahrscheinlich nicht passen. Wahrscheinlich nutzt kmail aber ein ähnliches template und das kann man benutzen, damit vim das erkennt. Dafür schreibst du die folgende Anweisung in eine Datei ~/.vim/filetype.vim augroup filetypedetect au! BufRead,BufNewFile kmail* set filetype mail augroup END Anstatt kmail* wählst Du einen Namen, der auf kmails Templates passt. Danach die Datei speichern und beenden und wenn Du vim neu startest, liest er automatisch diese Datei ein. Wenn Du dann in kmail eine Mail erstellst, prüfe, ob vim automatisch den richtigen Filetype erkannt hat. Das erreicht man durch :verbose :set ft? Wenn vim das richtig erkannt hat, kannst Du alle Filetype spezifischen Anweisungen in eine eigene Datei schreiben, die du dann als ~/.vim/ftplugin/mail.vim speicherst (oder alternativ in ~/.vim/after/ftplugin/mail.vim). Der Unterschied zwischen beiden ist, dass die Dateien in den after-Verzeichnissen erst eingelesen werden, nachdem die System Plugins/Filetypes/ Dateien geladen wurden und daher Änderungen nicht wieder überschrieben werden können. Dort schreibst Du dann deine spezifischen Anweisungen für Mails rein, also z.B. /^$ :setl nu :setl tw=72 :ia mfg Mit freundlichen Grüßen Siehe auch die folgenden Abschnitte in der Hilfe: :h ftplugins :h ftplugin :h 'rtp' :h after-directory :h filetypes :h new-filetype PS: Ich dachte Du wärst Emacser? Mit freundlichen Grüßen Christian -- hundred-and-one symptoms of being an internet addict: 39. You move into a new house and decide to Netscape before you landscape. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org