1

我正在使用 Vim 的SmartTabs插件将 C 代码与制表符对齐到缩进级别,然后使用空格进行对齐。它适用于诸如

void fn(int a,
________int b) {
--->...

制表符是--->,空格是_。但对于像这样的情况,它似乎不太好用

--->if(some_variable >
--->--->some_other_variable) {
--->...

在上面的例子中,Vim 在括号内的第二行插入制表符。有没有办法可以修改 Vim 视为延续线的内容以包含这样的情况,所以我得到:

--->if(some_variable >
--->___some_other_variable) {
--->...
4

1 回答 1

0

如果有一种缩进样式既可以根据自己的喜好灵活缩进宽度,又可以保持一致的对齐方式,那么您建议的方案就是它。不幸的是,这种风格需要对底层语法有一些基本的了解(例如是否some_other_variable是断行条件(→ Spaces)的一部分或条件中的函数调用(→ Tab)),这使得实现起来很困难。

我不知道任何现有的 Vim 插件。'copyindent'and选项有点帮助,'preserveindent'但本质上你必须自己显式地插入非缩进Space(并且可能:set list要验证)。

我不知道其他 Editor,但大多数其他劣质代码编辑器的情况类似。如果没有良好的自动支持,这种优雅的风格将很难被接受。我很想看到这样的 Vim 插件。

于 2013-04-06T12:25:08.783 回答