1

我的 java 代码中有@Override注释,但是 vim 自动缩进下一行,如下所示:

@Override
    public String toString()
    {
        //some code
    }

我怎样才能摆脱缩进?

据我所知,indent 文件已经解决java.vim/usr/share/vim/vim73/indent这个问题,但问题仍然存在。这是中的代码java.vim

  " If the previous line starts with '@', we should have the same indent as
  " the previous one
  if getline(lnum) =~ '^\s*@\S\+\s*$'
     return indent(lnum)
  endif
4

1 回答 1

2

编辑:

我刚刚在版本 7.3.918 上测试了这两个片段,它们都可以工作。这意味着您的 vim 设置有问题。看看你的 vimrc 看看有没有问题。

还要看它返回的值:set ft应该返回filetype=java。如果这没有发生,请确保您filetype plugin indent on的 vimrc 中有并检查这是否解决了您的问题。

也不要使用下面的代码片段,因为 vim 在以后的版本中会自行执行此操作。


我在~/.vim/after/indent/java.vim这里获取的文件中有这个

function! GetJavaIndent_improved()
    let theIndent = GetJavaIndent()
    let lnum = prevnonblank(v:lnum - 1)
    let line = getline(lnum)
    if line =~ '^\s*@.*$'
        let theIndent = indent(lnum)
    endif

    return theIndent
endfunction
setlocal indentexpr=GetJavaIndent_improved()

这似乎适用于正确缩进 java 注释。

于 2013-04-26T04:29:00.450 回答