[英]Can I fix Groovy indenting in Vim?
我正在尝试使用Vim来处理一些Groovy代码。 当不使用分号时,它似乎不能很好地处理自动注册。 我发现了一些与Ruby和JavaScript有关的问题,但是我找不到任何修复工作。 我的.vimrc中有filetype plugin indent on
,并且不设置cindent
, autoindent
或smartindent
。 我已经尝试在Groovy缓冲区中运行setlocal nocindent nosmartindent
并使用ggVG=
重新发送文件, ggVG=
万一在幕后设置插件,它仍然总是错误。
例如,我在一个小样本上得到这个(来自我在Groovy中编写的个人libGDX沙箱应用程序)
@Override
void render () {
Gdx.gl.glClearColor(0.75f, 0.75f, 0.75f, 1)
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT)
batch.begin()
batch.draw(img, 0, 0)
font.draw(batch, "Testing", 300, 400)
batch.end()
}
注意注释,左括号和函数第一行之后的额外缩进。 我的.vimrc相当复杂,但如果有人认为这会有所帮助,我可以发布一个指向我的dotfiles的链接。
Vim没有为groovy提供缩进脚本。 因此它尝试使用基于C的标准缩进规则。这些规则使用分号来确定行是否结束,这就是为什么在函数的第二行上得到行继续缩进的原因。
由于vim不包含缩进脚本,因此您可以使用groovyindent插件。 放在~/.vim/indent
。 你还需要在groovy.vim上运行dos2unix
,因为它包含错误的行结尾。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.