Tôi đang cố gắng làm cho vim tự động thụt lề bằng các tab và căn chỉnh với các khoảng trắng, nhưng thực sự, vim thụt lề với các tab và điền vào căn chỉnh bằng các tab + khoảng trắng.
Vim làm điều đó:
(mỗi khối là một tab)
{
>--long a = 1,
>-->--..b = 2,
>-->--..c = 3;
}
Có thể làm điều đó:
{
>--long a = 1,
>--.....b = 2,
>--.....c = 3;
}
Vì vậy, tôi nghĩ rằng có rất nhiều câu hỏi về chủ đề của các tab và khoảng trắng, nhưng không ai trong số chúng cung cấp một số giải pháp Just Works:
- /programming/8493705/vim-use-tabs-for-indentation-spaces-for-alocate-with-c-source-files
- /programming/29208431/vim-indent-with-tabs-align-with-spaces
- /programming/6504507/vim-indenting-and-alocate-combining-spaces-and-tabs
Thật ra tôi đang sử dụng:
set ai
set cindent
set cinoptions=(0,:0,u0,U0,g0)
Tôi đã thử plugin Smart Tab , có vẻ như hoạt động tốt, nhưng khi dùng thử, gg=G
tôi gặp một số lỗi lạ:
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
Cuộc thảo luận này dường như đã cũ, vậy bây giờ, 2015, có một giải pháp chính thức nào để đối phó với nó?