例如,渲染:
while (head == tail) { head++; a[head] = 0 }
进入
while (head == tail)
{
head++;
a[head] = 0
}
答案1
(首先,最后一个语句前需要一个分号,}
这才是有效的 C;在 C 中,分号应该被视为终止语句,而不是分隔语句。除非您添加分号,否则智能自动缩进可能无法正常工作。)
Vim 的=
命令 ( :help =
) 可用于通过自动缩进程序运行代码,但它需要一些配置。基本思路是将选项equalprg
( :help 'equalprg'
) 设置为应用所需缩进的程序,然后=
在命令模式下使用它来运行它。 =
其工作方式与其他 Vim 基于动作的命令(如d
和 )类似y
;例如,==
缩进当前行、=ap
缩进段落,或者您可以使用可视范围:ggVG=
缩进整个文件。
现在,默认情况下,equalprg
设置为空字符串,它仅执行 Vim 内置的基本每行缩进。要完成您要求的那种事情,最好的工具是indent
:
indent
拥有大量各种缩进样式的选项;默认情况下,它使用 GNU 编码样式,但您可能希望对其进行自定义以适合您的项目偏好。请参阅
男人缩进了解详情。若要在 的值中包含空格equalprg
,您需要用反斜杠将其括起来,因此例如如果您想使用 K&R 缩进样式,则可以使用:set equalprg=indent\ -kr
。
您还可以让 '=' 命令根据文件类型选择适当的缩进,通过在 vim 中使用:filetype indent on
- 类型:help filetype
来获取更多信息。
:set autoindent
将告诉 vim 在您输入时缩进。将这两个命令之一(减去开头的“:”)添加到您的 ~/.vimrc 文件将使它们永久生效。
答案2
此 vim 插件使用外部格式化程序来格式化 vim 中的代码。因此,它比 vim 的缩进机制更强大。
答案3
与任何其他文本编辑器一样,VIM 不会自动执行此操作。
用 vim 打开一个文件,按下i插入,现在你就可以自由编辑了,完成后按下Esc退出插入模式,然后按下 写入 写入:wq
,退出。