Ich versuche, vim mit Tabulatoren automatisch einzurücken und mit Leerzeichen auszurichten, aber tatsächlich, vim mit Tabulatoren einzurücken und die Ausrichtung mit Tabulatoren + Leerzeichen zu füllen.
Vim macht es:
(Jeder Block ist ein Tab)
{
>--long a = 1,
>-->--..b = 2,
>-->--..c = 3;
}
Darf es tun:
{
>--long a = 1,
>--.....b = 2,
>--.....c = 3;
}
Ich denke, es gibt viele Fragen zum Thema Tabulatoren und Leerzeichen, aber keine bietet eine Lösung für Just Works:
- /programming/8493705/vim-use-tabs-for-indentation-spaces-for-alignment-with-c-source-files
- /programming/29208431/vim-indent-with-tabs-align-with-spaces
- /programming/6504507/vim-indenting-and-alignment-combining-spaces-and-tabs
Eigentlich benutze ich:
set ai
set cindent
set cinoptions=(0,:0,u0,U0,g0)
Ich habe das Smart Tab Plugin ausprobiert , was anscheinend gut funktioniert, aber wenn ich es versuche, gg=G
erhalte ich einige seltsame Fehler:
Error detected while processing function CtabRedoIndent..<SNR>12_CheckAlign:
line 11:
E108: No such variable: "b:ctab_lastalign"
Press ENTER or type command to continue
Error detected while processing function CtabRedoIndent:
line 10:
E170: Missing :endwhile
Diese Diskussion scheint ziemlich alt zu sein, also gibt es jetzt, 2015, eine offizielle Lösung, um damit umzugehen?