2013-02-20 6 views
1

Я долгое время пользовался slimv, и нашел, что это великолепно в фигурных скобках.vim: Может ли запясть автоматически заполняться в java-файле таким же элегантным, как lisp-файл с 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-файлов?

+0

Нет, slimv (на самом деле paredit.vim) не поддерживает java-файлы. Он поддерживает только lisp-подобные файлы (lisp, clojure, схема, ракетка). Он реализован для обработки s-выражений. –

+0

@TamasKovacs Все советы для Java-программиста, который использует vim в качестве редактора? – pvd

+1

Извините, у меня нет никаких советов для java. Я автор slimv, поэтому я могу помочь вам в slimv-связанных вопросах. Я могу вам сказать, что вы не можете использовать slimv для java-файлов, потому что он проверяет наличие хорошо сформированных s-выражений. –

ответ

1

Пробег: Vim-autoclose. Возможно, будет работать на Java.

Я использую его какое-то время. Он отлично работает для PHP & JS. Только случайная проблема при вставке кода. Но легко решить, удалив кучу закрывающих скобок в конце файла.

1

Есть несколько плагинов, которые обеспечивают автоматическое закрытие фигурных скобок и, вероятно, более надежны, чем ваше упрощенное отображение. См. Раздел Automatically append closing characters on the Vim Tips Wiki для обсуждения и списка плагинов.

+0

На самом деле, моя установка vimrc выше была скопирована с предложенного вами веб-сайта :) – pvd

+0

Затем посмотрите раздел плагинов. Я лично использую AutoClose от Karl Guertin (редко, но пока не заметил никаких проблем). –