Wenn in einigen Texteditoren (z. B. Kate, gedit) der automatische Einzug aktiviert ist, wird durch zweimaliges Drücken der Eingabetaste ein nachfolgendes Leerzeichen (das ich möchte) hinterlassen:
if (code) {
....
....|
}
Während andere den Codierungsstandard erfüllen, bei dem nachgestellte Leerzeichen (auch in Leerzeilen) nicht zulässig sind:
if (code) {
....|
}
Was mich daran ärgert, ist, dass der automatische Einzug verloren geht, wenn ich nach dem automatischen Einrücken nach oben pfeile:
if (code) {
|
....
}
Wenn ich vim und starte :set autoindent
, bekomme ich das letztere Verhalten.
Meine Frage ist, wie ich vim so einstelle, dass die nachgestellten Leerzeichen beibehalten werden, anstatt sie automatisch zu entfernen, wenn sie nicht verwendet werden.
vim
text-editors
indentation
autoindent
Joey Adams
quelle
quelle
{
oder}
(zBd{
etc).Antworten:
In diesem Hinweis im
vim
Wiki erfahren Sie, wie Sie auch bei Leerzeilen korrekte Einrückungen erzielen. Wenn Sie nur den vorherigen Einzug beibehalten möchten (ohnevim
den korrekten Einzug zu berücksichtigen), verwenden Sie ihnlet ind = indent(prevnonblank(v:lnum - 1))
wie in einem Kommentar unter demselben Wiki-Eintrag erläutert.quelle
Ich habe festgestellt, dass diese Lösung für mich funktioniert:
quelle
In meiner .vimrc:
quelle