【发布时间】:2013-02-20 07:48:26
【问题描述】:
我已经使用 slimv 很长时间了,发现它在大括号自动完成方面很棒。
但是,当我在编辑 java 文件时,我试图在我的 vimrc 中添加这段代码
"Add the closing brace only at the end of the line
function! ConditionalPairMap(open, close)
let line = getline('.')
let col = col('.')
if col < col('$') || stridx(line, a:close, col + 1) != -1
return a:open
else
return a:open . a:close . repeat("\<left>", len(a:close))
endif
endf
inoremap <expr> ( ConditionalPairMap('(', ')')
inoremap <expr> { ConditionalPairMap('{', '}')
inoremap <expr> [ ConditionalPairMap('[', ']')
这不像 slimv 那样聪明。
slimv 是否支持 java 文件?
【问题讨论】:
-
不,slimv(实际上是 paredit.vim)不支持 java 文件。它只支持类似 lisp 的文件(lisp、clojure、scheme、racket)。它是为处理 s 表达式而实现的。
-
@TamasKovacs 对使用 vim 作为编辑器的 java 程序员有什么建议吗?
-
对不起,我对 java 没有任何建议。我是 slimv 的作者,所以我可以帮助您解决与 slimv 相关的问题。我可以告诉你的是,你不能对 java 文件使用 slimv,因为它会检查是否存在格式良好的 s 表达式。