Hallo zusammen, wie kann man denn verhindern, daß gvim direkt nach dem Start in den Hintergrund verschwindet? Hintergrund: ich möchte ihn als Maileditor von KMail einsetzen. Wenn ich als Kommando aber "gvim %f" eingebe, dann merkt KMail eben nicht mehr, wann die Bearbeitung der Mail abgeschlossen ist. Danke+Gruß! -- Andre Tann -- 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
Andre Tann, Dienstag 29 Dezember 2009:
wie kann man denn verhindern, daß gvim direkt nach dem Start in den Hintergrund verschwindet? Hintergrund: ich möchte ihn als Maileditor von KMail einsetzen. Wenn ich als Kommando aber "gvim %f" eingebe, dann merkt KMail eben nicht mehr, wann die Bearbeitung der Mail abgeschlossen ist.
Sorry... Minimalgoogeln erbringt: gvim -f ... Danke+Gruß! -- Andre Tann -- 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
Andre Tann, Dienstag 29 Dezember 2009:
Sorry... Minimalgoogeln erbringt: gvim -f ...
...jetzt muß ich doch nochmal nachhaken. Ich hab mir jetzt den folgenden Aufruf zusammengebastelt: gvim -c "set t_Co=8" -c "syntax on" -c "/^$" -c "set tw=72" -c "set number" -- nofork "$1" Das funktioniert zwar auch, allerdings nicht, wenn ich den Aufruf so bei KMail eintrage (das $1 dann durch %f ersetzt). Packe ich den Aufruf dagegen in ein Wrapperskript, und gebe bei KMail /pfad/zum/skript %f als Editor an, dann funktionierts. Warum? Was macht KMail anders als mein Wrapperskript? Danke+Gruß! -- Andre Tann -- 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
Hi Andre! On Di, 29 Dez 2009, Andre Tann wrote:
Andre Tann, Dienstag 29 Dezember 2009:
Sorry... Minimalgoogeln erbringt: gvim -f ...
...jetzt muß ich doch nochmal nachhaken. Ich hab mir jetzt den folgenden Aufruf zusammengebastelt:
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. regards, Christian -- hundred-and-one symptoms of being an internet addict: 37. You start looking for hot HTML addresses in public restrooms. -- 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
Servus Christian, Christian Brabandt, Dienstag 29 Dezember 2009:
Ö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? Danke+Gruß! -- Andre Tann -- 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
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
Servus Christian, Christian Brabandt, Mittwoch 30 Dezember 2009:
: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.
Das erklärt sich so: ich habe den Aufruf ergoogelt und dann so angepaßt, daß er funktioniert hat. Da ich nicht so genau wußte, wozu die Farbbegrenzung gut ist, hab ich sie erstmal drin gelassen, da ich annahm, daß das schon seine Berechtigung hat.
: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.
Ja, da hast Du recht. Jetzt steht es in der vimrc.
:--nofork
kann man per Kommandozeile machen (alternativ -f). Oder auch in der .gvimrc einstellen (:set guioptions+=f)
Ich machs ja per Kommandozeile... Generell einstellen will ich es nicht, da es mir ganz praktisch scheint, daß der gvim standardmäßig in den Hintergrund verschwindet.
: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
`---- [...]
Davon hatte ich überhaupt keine Ahnung bislang. Alles, was Du ab hier geschrieben hast, muß ich mir erstmal erarbeiten, um es zu kapieren.
PS: Ich dachte Du wärst Emacser?
Ja, hab mich längere Zeit mit Emacs auseinandergesetzt, und konnte am Schluß einigermaßen das machen, was ich wollte. Trotzdem - so richtig das Gefühl, mit dem Ding umgehen zu können, hatte auch nach all der Einarbeitung nicht. Daher dachte ich, daß ich mal eine Weile ausschließlich mit Vim arbeite, um zu sehen, ob da nicht doch eher der Funke überspringt. Danke für Deine Hilfe! -- Andre Tann -- 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
participants (2)
-
Andre Tann
-
Christian Brabandt