Pan*_*Yan 8 vim perl comments indentation
Vim一直将我的perl代码视为注释,并且自动缩进不起作用.
$dump=`cp /local/*.txt .`;
if ($a == 0)
{
if ($b == 0)
{
print "HELLO";
}
}
Run Code Online (Sandbox Code Playgroud)
格式为:
$dump=`cp /local/*.txt .`;
if ($a == 0)
{
if ($b == 0)
{
print "HELLO";
}
}
Run Code Online (Sandbox Code Playgroud)
这是因为第一行中的"/*"被视为注释,因此Vim后来放弃了缩进.
我可以想到一个解决方法:
$dump=`cp /local/*.txt .`; #*/;
Run Code Online (Sandbox Code Playgroud)
手动关闭评论.
但有更好的方法吗?
谢谢.
您正在使用cindent,它专门用于自动缩进 C 代码(包括 C 样式块注释)。这并不知道您实际上正在编写 perl。尝试smartindent一下,似乎用 perl 效果更好。要尝试此操作,请运行set cindent!然后set smartindent. 如果这样效果更好,您可以在 .vimrc 文件中更改它。
如果您谈论的是=缩进的关键,而不是即用缩进,则这是使用单独的格式化程序。您可以通过设置更改使用的内容equalprg。对于 perl,您可以使用set equalprg=perltidy\ -quiet通过 来运行选定的行perltidy。