无法将vim中的代码格式化为%=。。。结果是E488:尾随字符

无法将vim中的代码格式化为%=。。。结果是E488:尾随字符,vim,groovy,format,indentation,Vim,Groovy,Format,Indentation,我试图在vim中格式化一些groovy代码 首先输入命令类型:“设置智能缩进” 。。。然后我键入命令“:=%” 我得到的错误如下: E488:尾随字符 以下是我试图格式化的代码: import groovy.util.GroovyTestCase class MyTest extends GroovyTestCase { void testSomething() { assert 1 == 1 assert 2 + 2 == 4 : "

我试图在vim中格式化一些groovy代码

首先输入命令类型:“设置智能缩进”

。。。然后我键入命令“:=%”

我得到的错误如下:

E488:尾随字符

以下是我试图格式化的代码:

import groovy.util.GroovyTestCase

class MyTest extends GroovyTestCase {

        void testSomething() {
                assert 1 == 1
    assert 2 + 2 == 4 : "We're in trouble, arithmetic is broken"
    }

}
我做错了什么???
谢谢你的帮助。谢谢。

我认为
:=%
不应该起作用,因为
%
不是一个动议

如果要格式化整个文件,则应使用
gg=G


否则,选择一个区域并使用
=
,例如
vi}=
,您不必进入命令模式来重新格式化(命令模式是当您输入
)时)

我认为
:=%
不应该工作,因为
%
不是一个运动

如果要格式化整个文件,则应使用
gg=G


否则,选择一个区域并使用
=
,例如
vi}=
,您不必进入命令模式来重新格式化(命令模式是在您输入
)时)

这都是关于命令的

vG$=

这都是关于命令的

vG$=

我尝试了“:=1G”,但得到了相同的错误。使用gg=G返回“缩进10行”,但实际上不缩进任何内容。使用视觉模式选择文本,然后按“=”返回“缩进10行”,但没有实际缩进。问题是分号。只要我在代码中添加分号,格式就可以正常工作。这有点奇怪,因为我的印象是设置“smartindent”的格式是基于大括号“{}”所在的位置,而不是分号“;”所在的位置。到底发生了什么?我认为默认的vim缩进规则是基于C的。所以这可能就是为什么没有;,据我所知,语法文件仅用于以不同颜色突出显示部分代码,但不定义任何有关缩进的内容。有关更多信息,请参见
:help indent.txt
。groovy需要一个
缩进脚本,如下所示:。它将为Groovy定义正确的
indentexpr
。。。这是指向缩进文件的链接。我尝试了“:=1G”,但得到了相同的错误。使用gg=G返回“缩进10行”,但实际上不缩进任何内容。使用视觉模式选择文本,然后按“=”返回“缩进10行”,但没有实际缩进。问题是分号。只要我在代码中添加分号,格式就可以正常工作。这有点奇怪,因为我的印象是设置“smartindent”的格式是基于大括号“{}”所在的位置,而不是分号“;”所在的位置。到底发生了什么?我认为默认的vim缩进规则是基于C的。所以这可能就是为什么没有;,据我所知,语法文件仅用于以不同颜色突出显示部分代码,但不定义任何有关缩进的内容。有关更多信息,请参见
:help indent.txt
。groovy需要一个
缩进脚本,如下所示:。它将为Groovy定义正确的
indentexpr
。。。这是指向缩进文件的链接。为什么是结肠<代码>=
是正常模式命令。
:=
ex命令用于打印缓冲区(或指定范围)中的行数,并且只接受一些标志。为什么使用冒号<代码>=
是正常模式命令。
:=
ex命令用于打印缓冲区(或指定范围)中的行数,并且只接受一些标志。