在vim中格式化多行语句
在vim中,有一个长语句,如在vim中格式化多行语句,vim,indentation,Vim,Indentation,在vim中,有一个长语句,如 if ( (image == null) || (image.getFileHash() == null) || (image.getFileImage() == null) ) 当我在第二个或第二个 if ( (image == null) || (image.getFileHash() == null) || (image.getFileImage() == null) ) { 有没有办法将vim设置为缩进 if ( (image == n
if ( (image == null) || (image.getFileHash() == null) || (image.getFileImage() == null) )
当我在第二个或第二个
if ( (image == null) || (image.getFileHash() == null)
|| (image.getFileImage() == null) ) {
有没有办法将vim设置为缩进
if ( (image == null) || (image.getFileHash() == null)
|| (image.getFileImage() == null) ) {
i、 e.将其与前一行(的)后面的列对齐
在冲刺的帮助下,汤姆·邦解决了一部分问题
问题。但是,现在花括号未按预期对齐
如果{
从同一行开始
if ( (image == null) || (image.getFileHash() == null) ||
(image.getFileImage() == null) )
{
}
if ( (image == null) || (image.getFileHash() == null) ||
(image.getFileImage() == null) ) {
}
控制此操作的设置是
cinoptions
,请参阅:help cinoptions values
将其添加到.vimrc中,以与大多数本地未闭合括号对齐。(可以通过提供不同的数字(包括负数)在空格中提供额外的缩进。可以使用Ns缩进N个制表位。)
默认值是2s,它将缩进两个制表符超过打开的paren;希望这就是您看到的。如果((image==null)| |(image.getFileHash()==null)| |(image.getFileImage()==null)){}结束的花括号与('而不是if语句。查看我上面引用的帮助文档,它将为您提供各种配置选项。右括号应默认为“正确”位置,但您可以尝试添加
}0
到您的cinoptions
查看这是否会改变行为。另一种可能性是,如果您的括号不匹配,自动格式化程序会执行各种您可能不喜欢的操作…尝试了}0
但找不到方法。我更新了原始帖子,以准确显示我看到的内容。奇怪。这是我在Windows上使用Vim 7.3时,情况很好。也许可以检查您的缩进设置,是否设置cindent?
显示cindent已打开?我有自动缩进,nosmartindent,cindent。我尝试了自动缩进,nosmartindent,cindent。同样的问题。但是,我正在使用MacVim(Vim-Vi改进了7.3(2010年8月15日,编译2012年1月16日19:11:00)MacOS X(unix)版本)
set cinoptions=(0