我正在尝试在工作中使用Vim编辑Groovy代码。当没有使用分号时,它似乎无法很好地处理自动缩进。我发现了一些与Ruby和JavaScript相关的问题,但是我找到的所有修复方法都对我不起作用。我在我的.vimrc文件中设置了filetype plugin indent on
,并且没有设置cindent
、autoindent
或smartindent
。我尝试在Groovy缓冲区中运行setlocal nocindent nosmartindent
,并使用 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 -u NONE -U NONE <file.groovy>
来进行测试,并可以看到相同的行为,因此我相当确定这不是插件或我的.vimrc
设置之一导致的。 - DuckPuppyvoid
和}
与文件的第一列注释齐平。 - FDinoffvoid
和}
与注释齐平,但方法的内容仍然未正确缩进。您是否遇到了方法内第一行后面的所有行都缩进了一个额外级别的另一个问题? - DuckPuppy