Hören Sie auf, meine Einrückung bei Kommentaren durcheinander zu bringen
12
Aus irgendeinem Grund ist Vim der Ansicht, dass bei allen meinen Kommentaren alle Einrückungen entfernt werden sollten. Wenn ich #an den Anfang einer Zeile füge , werden plötzlich alle führenden Leerzeichen entfernt. Wie kann ich das aufhalten?
Ich habe Janus und NERDtree installiert, falls es relevant ist, zusammen mit zahlreichen anderen persönlichen Konfigurationen in meinem .vimrc, aber keine, die (soweit ich weiß) ein solches Verhalten verursachen würden.
Ich bin nie zufrieden mit den Antworten "Set all diese Dinge nur für den Fall". Ich bestehe darauf zu wissen, welche dieser Dinge falsch eingestellt wurden und wie sie eingestellt wurden. Hier ist ein Befehl, der Ihnen die Werte aller hier erwähnten relevanten Einstellungen sowie den Ort anzeigt, an dem sie zuletzt festgelegt wurden. Wenn keine Last set fromZeile folgt, ist dies ein Standardwert. Es macht keinen Sinn, die setkorrekten Standardwerte beizubehalten.
:verbose set autoindent? smartindent? cindent? cinkeys? indentexpr?
noautoindent
nosmartindent
cindent
Last set from ~/.vim/vimrc
cinkeys=0{,0},0),:,!^F,o,O,e
Last set from ~/.vim/vimrc
indentexpr=
Press ENTER or type command to continue
Beeindruckend! OP hat die gewählte Antwort geändert. Ich fühle mich geehrt.
Bruno Bronosky
6
Dies ist ein Kampf, den ich auch geschlagen habe und denke, ich habe endlich gewonnen. Das Problem ist, dass es ein Dutzend verschiedene Möglichkeiten gibt, wie das Verhalten überschrieben werden kann (durch Plugins / Syntaxen).
Hier sind alle Einstellungen, die ich verwenden musste, um den Kampf zu gewinnen:
set nosmartindent
set cindent
filetype plugin indent on
set cinkeys-=0#
set indentkeys-=0#
autocmd FileType * set cindent "some file types override it
Mit dem autocmdsollte das erste set cindentnicht nötig sein, aber dies ist eines der Dinge, bei denen ich immer wieder Zeilen hinzufügte, bis das Verhalten verschwand.
Ich konnte die letzten beiden Zeilen überspringen und das Problem trotzdem lösen
iconoclast
1
@iconoclast Beachten Sie jedoch, dass bei einigen Dateitypen möglicherweise weiterhin Probleme auftreten. Die letzte Zeile ist, weil einige Syntaxdateien Einrückungseinstellungen überschreiben.
Patrick
1
OH MEIN GOTT!!! set indentkeys-=0#!! Endlich ist mein Leiden vorbei !!!!!!!!
Dies ist ein Kampf, den ich auch geschlagen habe und denke, ich habe endlich gewonnen. Das Problem ist, dass es ein Dutzend verschiedene Möglichkeiten gibt, wie das Verhalten überschrieben werden kann (durch Plugins / Syntaxen).
Hier sind alle Einstellungen, die ich verwenden musste, um den Kampf zu gewinnen:
Mit dem
autocmd
sollte das ersteset cindent
nicht nötig sein, aber dies ist eines der Dinge, bei denen ich immer wieder Zeilen hinzufügte, bis das Verhalten verschwand.quelle
set indentkeys-=0#
!! Endlich ist mein Leiden vorbei !!!!!!!!Vielleicht möchten Sie die Quellcodeseite von Vim Wiki Indenting lesen und herausfinden, wie "Autoindent" funktioniert.
quelle
Ref diese Antwort:
http://vim.wikia.com/wiki/Restoring_indent_after_typing_hash
ändern zu:
oder:
quelle
Ich habe das Problem durch Kommentieren gelöst
set smartindent
.quelle