1

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

4

2 回答 2

1

试试Vim-autoclose。可能适用于 Java。

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

于 2013-02-20T17:25:01.163 回答
1

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

于 2013-02-20T08:38:17.203 回答