如何使vim缩进java注释正确?

当使用注释缩进java代码时,vim坚持这样缩进:
@Test
    public void ...

我想要注释与方法定义在同一列中,但我似乎找不到一种方式来告诉vim这样做,除了可能使用缩进表达式,但我不知道我是否可以使用它定期的吝啬。

编辑:文件类型插件已经打开,我对缩进插件有点困惑。接受的答案可能有点黑客,但对我来说也是如此。

编辑:我不能删除自己的答案,因为它已被接受,但 @pydave’s answer似乎是更好(更强大)的解决方案。

您应该使用缩进文件为Java FileType(而不是使用cindent)通过设置filetype插件缩进。

也就是说,从我的linux发行版(从目前的vim svn看,现在仍然是7.2)的Vim 7.1的缩进文件并没有考虑注释。因此,我将/usr/share/vim/vim71/indent/java.vim(见https://vim.svn.sourceforge.net/svnroot/vim/branches/vim7.1/runtime/indent/java.vim)复制到〜/ .vim / indent / java.vim,并在结尾之前添加以下行:

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

我不知道这是否打破了其他缩影,但它对我有用。

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...