[OK] vim 8: Wie stellt man bei open das automatische # ab?

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
whiizy
Beiträge: 674
Registriert: 23.07.2011 22:09:37

[OK] vim 8: Wie stellt man bei open das automatische # ab?

Beitrag von whiizy » 18.05.2017 14:16:37

Die neuen defaults von vim 8.0 z.B. unter Stretch haben eine Automatikfunktion eingeschaltet, die mich nervt. Ich weiß aber nicht so recht, unter welchem Schlagwort ich da Abhilfe finden könnte. Vielleicht erinnert sich von euch ja jemand daran, wie man folgende Automatik abschalten kann:

Also ...
wenn ich mit vim eine conf-Datei öffne und innerhalb einer Kommentarzeile mit Taste "o" eine neue Zeile öffnen will, dann wird die neue Zeile automatisch ebenfalls mit einem Doppelkreuz eingeleitet und zusätzlich noch mit einigen Leerzeichen ergänzt. Die Automatik versucht anscheinend, die Kommentarzeile genauso einzuleiten, wie die vorherige aussah.

Das Witzige dabei ist, daß diese Automatik von der Dateiendung abhängt. Ist die Endung beispielsweise .conf, dann ist jene unerwünschte Automatikfunktion aktiv. Benenne ich die Datei so um, so daß sie auf .txt endet, dann öffnet vim 8 mit der Taste o wie gewohnt nur eine neue leere Zeile (also ohne Raute).

Die Automagie gab es AFAIK auch schon vor vim 8, aber ich finde irgendwie nicht den passenden Schalter, um diese vim-Intelligenz abzuschalten.

Wer kennt die Lösung?
Zuletzt geändert von whiizy am 18.05.2017 17:44:12, insgesamt 1-mal geändert.

Benutzeravatar
MSfree
Beiträge: 10774
Registriert: 25.09.2007 19:59:30

Re: vim 8: Wie stellt man bei open das automatische # ab?

Beitrag von MSfree » 18.05.2017 14:33:44

whiizy hat geschrieben:wenn ich mit vim eine conf-Datei öffne und innerhalb einer Kommentarzeile mit Taste "o" eine neue Zeile öffnen will, dann wird die neue Zeile automatisch ebenfalls mit einem Doppelkreuz eingeleitet und zusätzlich noch mit einigen Leerzeichen ergänzt.
Wer kennt die Lösung?
http://vim.wikia.com/wiki/Disable_autom ... _insertion

whiizy
Beiträge: 674
Registriert: 23.07.2011 22:09:37

Re: vim 8: Wie stellt man bei open das automatische # ab?

Beitrag von whiizy » 18.05.2017 17:42:03

MSfree hat geschrieben:
whiizy hat geschrieben:wenn ich mit vim eine conf-Datei öffne und innerhalb einer Kommentarzeile mit Taste "o" eine neue Zeile öffnen will, dann wird die neue Zeile automatisch ebenfalls mit einem Doppelkreuz eingeleitet und zusätzlich noch mit einigen Leerzeichen ergänzt.
Wer kennt die Lösung?
http://vim.wikia.com/wiki/Disable_autom ... _insertion
Ah, auto-comment war das Schlagwort, welches mir fehlte. Vielen Dank, MSfree!
Welche automatischen Formatierungsoptionen per default gesetzt sind, kann ich im vim sehen mit:

Code: Alles auswählen

:set formatoptions?
-->
formatoptions=croql
Darin steht die Formatoption "o" fuer die automatische Einsetzung des "current comment leader", in meinem zitierten Beispiel eben Dopppelkreuz bzw. Raute.
Quelle: http://vimdoc.sourceforge.net/htmldoc/c ... l#fo-table

Diese Option habe ich jetzt in meiner /etc/vim/vimrc.local deaktiviert mit der Zeile:

Code: Alles auswählen

autocmd FileType * setlocal formatoptions-=o
Welche weiteren Formatoptionen mich im Laufe der Zeit eventuell noch nerven, werde ich dann sehen, bedarfsweise werden sie dann ebenso deaktiviert.

Gruß

Benutzeravatar
MSfree
Beiträge: 10774
Registriert: 25.09.2007 19:59:30

Re: vim 8: Wie stellt man bei open das automatische # ab?

Beitrag von MSfree » 18.05.2017 18:55:45

whiizy hat geschrieben:Diese Option habe ich jetzt in meiner /etc/vim/vimrc.local deaktiviert
Du kannst das auch in der ~/.vimrc setzen, dann gilt es aber nur für den User, dem die .vimrc gehört.
Welche weiteren Formatoptionen mich im Laufe der Zeit eventuell noch nerven, werde ich dann sehen
Hier mal meine bevorzugten Einstellungen:

syntax on
set showcmd
set showmatch
set ignorecase
set clipboard=exclude:.*
set timeoutlen=50
set ttimeoutlen=10

Vor allem die timeout-Parameter könnten für dich interessant sein. Die bewirken, daß man auf manche Vorgänge nicht so lange warten muß, z.B. dauert ein Blockmarkieren mit Ctlr-v und anschließendes löschen mit x sonst oft sehr lange.

whiizy
Beiträge: 674
Registriert: 23.07.2011 22:09:37

Re: vim 8: Wie stellt man bei open das automatische # ab?

Beitrag von whiizy » 18.05.2017 21:39:54

Hi,
MSfree hat geschrieben: Du kannst das auch in der ~/.vimrc setzen, dann gilt es aber nur für den User, dem die .vimrc gehört.
... ich denke mal, das ist allgemein bekannt. In diesem Fall hatte ich mich mal bewusst für die globale vimrc.local entschieden, da auf meinen Systemen oft gerade auch der root in config-files unterwegs ist.

Zumindest eine von Deinen Optionen ist in vim 8.0 bereits default, hier "syntax on". Die anderen könnten durchaus vielleicht mal interessant sein, allerdings weiche ich relativ ungern vom default ab, wenn ich nicht wirklich irgendetwas konkret vermisse. Allerdings weiß man ohne solche Tips, wie von Dir, möglicherweise auch gar nicht, was man vielleicht alles vermissen kann ... :wink: :THX:

Timeout-Probleme beim Blockmarkieren hatte ich z.B. auch noch nicht, aber vielleicht war der Umfang der Textblöcke auch immer zu klein oder die remote session zu flott. Ist aber vielleicht an dieser Stelle auch nicht ganz der richtige Ort, um die Myriaden Optionen von vim durchzugehen.

Danke aber für Deine Anregungen, werde beizeiten mal einen Blick darauf werfen!

Antworten