Ich benutze seit kurzem vim 7 (vorher vim 6) und die smartindent
Einstellung. Im Großen und Ganzen funktioniert das gut, obwohl ich so daran gewöhnt bin, nach einer geöffneten Klammer einen Tabulator zu tippen, dass es fast kontraproduktiv ist.
Allerdings gibt es ein wahnsinniges Verhalten. Wenn ich ein Shell-Skript bearbeite, versuche ich, einen Kommentar auf der aktuellen Einrückungsebene zu erstellen, aber smartindent
wird nichts damit zu tun haben. Es besteht darauf, dass der Kommentar auf Ebene 0 stehen muss (kein Einzug). Was noch schlimmer ist, es bricht Shift-Rechts (' >>
' und Freunde), damit sie nicht arbeiten. Das ist eine regelrechte Insubordination, und ich würde gerne wissen, wie man das am besten beheben kann.
(Ich bin auch nicht scharf auf smartindent
Ideen zur Einrückung then
après if
.)
Bevorzugte Lösungen ersparen mir manuelles Bashing - ich bin zu faul. Eine Option wäre "Ausschalten smartindent
bei der Bearbeitung von Shell-Skripten (für den Rest lassen Sie es eingeschaltet)'. Eine weitere Möglichkeit wäre eine Anleitung, wie man das Kontrollskript für smartindent
und was ich bearbeiten muss, um die Merkmale, die mir nicht gefallen, zu ändern. Die letzte Option (für die ich keine Ratschläge benötige - nur den Hinweis, dass es der beste oder einzige Weg ist, um die Vernunft wiederherzustellen) besteht darin, die smartindent
nicht festgelegt.
Ich habe die vage verwandte Frage auf " (PHP und) lästige vim unindent Regeln "; sie gibt mir keine direkte Antwort, obwohl vielleicht die cindent
und damit zusammenhängende Punkte, die dort erwähnt werden, sind in der Tat Teil der Antwort.