繁体   English   中英

我可以在Vim中修复Groovy缩进吗?

[英]Can I fix Groovy indenting in Vim?

我正在尝试使用Vim来处理一些Groovy代码。 当不使用分号时,它似乎不能很好地处理自动注册。 我发现了一些与Ruby和JavaScript有关的问题,但是我找不到任何修复工作。 我的.vimrc中有filetype plugin indent on ,并且不设置cindentautoindentsmartindent 我已经尝试在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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM