vim:可以像slimv的lisp文件一样优雅地在java文件中自动完成大括号



我已经使用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支持java文件吗?

尝试Vim自动关闭。可能适用于Java。

我已经用了一段时间了。它非常适用于PHP&JS。只是在粘贴代码时偶尔出现的问题。但通过删除文件末尾的一堆括号很容易解决。

有几个插件可以自动关闭大括号,可能比简单的映射更健壮。有关插件的讨论和列表,请参阅主题"在Vim Tips Wiki上自动附加结束字符"。

最新更新