Próbuję zrobić automatyczne wcięcie vim za pomocą tabulatorów i wyrównanie do białych znaków, ale tak naprawdę wcięcie vim za pomocą tabulatorów i wypełnienie wyrównania tabulatorami + białymi spacjami.
Vim to robi:
(każdy blok to zakładka)
{
>--long a = 1,
>-->--..b = 2,
>-->--..c = 3;
}
Może to zrobić:
{
>--long a = 1,
>--.....b = 2,
>--.....c = 3;
}
Myślę, że jest wiele pytań na temat tabulatorów i spacji, ale żadne z nich nie zapewnia rozwiązania 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
Właściwie używam:
set ai
set cindent
set cinoptions=(0,:0,u0,U0,g0)
Próbowałem wtyczki Smart Tab , która wydaje się działać dobrze, ale kiedy próbuję, gg=G
pojawiają się dziwne błędy:
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
Ta dyskusja wydaje się być bardzo stara, więc teraz, w 2015 roku istnieje oficjalne rozwiązanie, aby sobie z tym poradzić?