我想以某种方式在括号内缩进我的java代码,就像它在括号内一样。这是一个虚拟的例子:
public String hello(
String really,
String looong,
String listOf,
Optional<String> params
) {
return params.map((p) -> "Do something with the value " + p).orElse("world");
}
我试图使用cinoptions
来解决它,但似乎没有这样的选择。我不想最终为java编写自定义identexpr
。
答案 0 :(得分:0)
好吧,既然我找不到一个简单的解决方案,我已经通过将以下代码放到~/.vim/after/indent/java.vim
来覆盖了indentexpr for java:
setlocal indentexpr=GetMyJavaIndent()
function GetMyJavaIndent()
" When the line starts with a ), try aligning it with the matching (
if getline(v:lnum) =~ '^\s*)'
call cursor(v:lnum, 1)
silent normal! %
let lnum = line('.')
if lnum < v:lnum
return indent(lnum)
endif
endif
return GetJavaIndent()
endfunction