Frage

Vor einiger Zeit musste ich setzen

filetype plugin on

in meiner .vimrc für ein Plugin, das ich verwende.

Dies führte jedoch zu einer Änderung der automatischen Einrückung: Immer wenn ich einen Kommentar "//" schreibe und dann die Eingabetaste drücke, gibt die automatische Einrückung von vim in der nächsten Zeile automatisch ein weiteres "//" ein.

// This is a comment. <ENTER>
// <-- vim automatically puts '// ' there

Was kann ich tun, um dies zu vermeiden? Ich verwende die Autoindent-Einstellung in meiner VIM-Datei. Ich habe es bereits versucht

filetype plugin indent off

aber es funktioniert nicht.

War es hilfreich?

Lösung

Sehen Sie sich :h formatoptions und :h fo-table an.Die Optionen, die Sie deaktivieren müssen, sind r und o.Durch Deaktivieren wird verhindert, dass vim den Kommentar-Leader (in diesem Fall "//") automatisch einfügt, wenn Sie im Einfügemodus die Eingabetaste drücken oder wenn Sie im normalen Modus o oder O drücken.

Andere Tipps

Siehe :help 'formatoptions' - ich weiß, wie nervig das ist!

Versuchen Sie Folgendes:

:set fo-=or

Ich beantworte eher Ihren Titel als den Text Ihrer Frage, da Ihr Titel Personen auf diese Seite bringt, die Vim davon abhalten möchten, Kommentare einzurücken.

Die Variable, die steuert, ob Vim ein neues Zeichen automatisch einrückt, ist indentkeys.Ich habe nur in Python und Yaml eine falsche Einrückung festgestellt, daher habe ich die automatische Einrückung nur für das Zeichen "#" am Anfang der Zeile deaktiviert: :set indentkeys-=0#

Da das Laden des Einzugs-Plugins für Dateitypen alle von Ihnen vorgenommenen .vimrc-Einstellungen überschreibt, können Sie einen autocmd einrichten, um die Einrückungsschlüssel nach dem Erstellen oder Laden einer Datei zu ändern.Hier sind meine:

autocmd BufNewFile,BufReadPost * if &filetype == "python" | set indentkeys-=0# | endif
autocmd BufNewFile,BufReadPost * if &filetype == "yaml" expandtab shiftwidth=2 indentkeys-=0# | endif

Siehe : h indentkeys

Beachten Sie, dass Sie bei Verwendung von Neovim (möglicherweise) aufgrund eines Fehlers auch filetype plugin indent on angeben müssen, da sonst der Dateityp nicht festgelegt wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top