Ich habe vor kurzem begonnen, vim 7 (früher vim 6) und die smartindent
Einstellung zu verwenden. In den meisten Fällen funktioniert es gut, obwohl ich es gewohnt bin, nach einer offenen Klammer einen Tabulator zu tippen, der fast kontraproduktiv ist.Welche Einstellung in vim wirkt der Verweigerung von smartindents Einrückung # Kommentare in Shell-Skripten entgegen?
Allerdings gibt es ein Stück wahnsinniges Verhalten. Beim Bearbeiten eines Shell-Skripts versuche ich, einen Kommentar auf der aktuellen Einzugsebene zu erstellen, aber smartindent
wird damit nichts zu tun haben. Es besteht darauf, dass der Kommentar auf der Ebene 0 (kein Spiegelstrich) sein muss. Was noch schlimmer ist, es bricht Shift-rechts ('>>
' und Freunde), so dass sie nicht funktionieren. Das ist völlige Unbotmäßigkeit, und ich würde gerne wissen, wie man das am besten beheben kann?
(ich bin auch nicht so scharf auf smartindent
‚s Ideen über then
nach if
einrücken.)
Bevorzugen Lösungen mir manuelles bashing sparen - ich bin faul. Eine Option wäre, 'smartindent
bei der Bearbeitung von Shell-Skripten auszuschalten (lassen Sie es für den Rest auf)'. Eine weitere Option wären Richtlinien, wie das Steuerskript für smartindent
zu finden ist und was geändert werden muss, um die Eigenschaften zu ändern, die ich nicht mag. Die letzte Option (für die ich keine Ratschläge benötige - nur der Hinweis darauf, dass es der beste oder einzige Weg ist, die geistige Gesundheit wiederherzustellen) ist, smartindent
nicht gesetzt zu lassen.
Ich sah die vage verwandte Frage auf "(PHP and) annoying vim unindent rules"; es liefert mir nicht die direkte Antwort, obwohl die cindent
und verwandte Artikel darin tatsächlich Teil der Antwort sind.
Große Antwort hier: http://stackoverflow.com/questions/191201/indenting-comments-to-match-code-in-vim – Dan