VIM - 重新格式化缩进和大括号
VIM - Reformatting indentation and braces
在 VIM 中处理代码块时,我可以通过在可视模式下选择一个区域轻松地重新缩进代码块 (SHIFT+ v),然后直接点击 =。这会重新制表代码行,使用正确的缩进深度,硬制表与 spaces 等
我有一大堆函数需要重构,并且我有几个代码块在与 if/else
关键字相同的行上有大括号,即:
if(something) {
doFunction(something);
} else if(somethingElse) {
doFunction(somethingElse);
} else {
// default stuff to do
}
我想将大括号和间距样式更改为:
if ( something ) {
doFunction( something);
}
else if ( somethingElse )
{
doFunction( somethingElse );
}
else
{
// default stuff to do
}
差异包括:
- 在自己的专线opening/closing上有opening/closing大括号
if
、else if
和函数的参数有一个 space 将参数列表的开头和结尾与周围的圆括号分开。
if
/else if
和参数括号之间有一个space,但函数名和参数括号之间没有。
有没有办法将此样式设置为 VIM 中的默认样式,并让重新缩进命令更改样式以匹配我提供的两种样式中的后者? I've found tools to enforce things like line endings, tabs-vs-spaces, etc, 但不是如上所示的样式细节。
谢谢。
vim 中的缩进脚本不是为如此复杂的任务构建的。我建议您使用 indent
命令,特别是以下参数:
-prs, --space-after-parentheses
Put a space after every '(' and before every ')'.
See STATEMENTS.
-sai, --space-after-if
Put a space after each if.
See STATEMENTS.
您应该阅读该命令的手册页以了解更多详细信息。
显然,此命令可用于过滤缓冲区的内容:
:%!indent
在 VIM 中处理代码块时,我可以通过在可视模式下选择一个区域轻松地重新缩进代码块 (SHIFT+ v),然后直接点击 =。这会重新制表代码行,使用正确的缩进深度,硬制表与 spaces 等
我有一大堆函数需要重构,并且我有几个代码块在与 if/else
关键字相同的行上有大括号,即:
if(something) {
doFunction(something);
} else if(somethingElse) {
doFunction(somethingElse);
} else {
// default stuff to do
}
我想将大括号和间距样式更改为:
if ( something ) {
doFunction( something);
}
else if ( somethingElse )
{
doFunction( somethingElse );
}
else
{
// default stuff to do
}
差异包括:
- 在自己的专线opening/closing上有opening/closing大括号
if
、else if
和函数的参数有一个 space 将参数列表的开头和结尾与周围的圆括号分开。if
/else if
和参数括号之间有一个space,但函数名和参数括号之间没有。
有没有办法将此样式设置为 VIM 中的默认样式,并让重新缩进命令更改样式以匹配我提供的两种样式中的后者? I've found tools to enforce things like line endings, tabs-vs-spaces, etc, 但不是如上所示的样式细节。
谢谢。
vim 中的缩进脚本不是为如此复杂的任务构建的。我建议您使用 indent
命令,特别是以下参数:
-prs, --space-after-parentheses
Put a space after every '(' and before every ')'.
See STATEMENTS.
-sai, --space-after-if
Put a space after each if.
See STATEMENTS.
您应该阅读该命令的手册页以了解更多详细信息。
显然,此命令可用于过滤缓冲区的内容:
:%!indent