2013-02-20 3 views
1

나는 오랫동안 slimv를 사용 해왔고 중괄호 자동 완성에서 훌륭하다는 것을 알았다. 나는 자바 파일을 편집하는 동안vim : slimv가있는 lisp 파일처럼 우아한 자바 파일에서 중괄호 자동 완성이 가능합니까?

그러나, 나는 slimv은처럼하지 스마트 나의 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('[', ']') 

이 코드를 추가했습니다.

자바 파일을 슬림하게 지원합니까?

+0

아니요, slimv (실제로 paredit.vim)는 java 파일을 지원하지 않습니다. lisp과 같은 파일 (lisp, clojure, scheme, racket) 만 지원합니다. s- 표현식을 처리하기 위해 구현됩니다. –

+0

@TamasKovacs vim을 편집기로 사용하는 자바 프로그래머에게 조언이 필요하십니까? – pvd

+1

죄송합니다, 자바에 대한 조언이 없습니다. 저는 slimv의 저자이기 때문에 slimv 관련 질문에서 당신을 도울 수 있습니다. 제가 여러분에게 말할 수있는 것은 올바른 형식의 s- 표현식이 존재하는지 검사하기 때문에 java 파일에 대해 slimv를 사용할 수 없다는 것입니다. –

답변

1

시도 Vim-autoclose. 가능하면 Java에서 작동합니다.

저는 지금 한동안 사용해 왔습니다. PHP & JS에서 완벽하게 작동합니다. 코드를 붙여 넣을 때만 가끔 문제가 발생하지만 파일 끝에 닫는 대괄호를 삭제하면 쉽게 해결됩니다.

1

중괄호의 자동 닫기 기능을 제공하며 단순한 매핑보다 강력 할 수있는 몇 가지 플러그인이 있습니다. 토론 및 플러그인 목록은 Automatically append closing characters on the Vim Tips Wiki 주제를 참조하십시오.

+0

사실, 위의 내 vimrc 설정은 당신이 제안한 웹 사이트에서 복사되었습니다 :) – pvd

+0

그런 다음 플러그인 섹션을 살펴보십시오. 개인적으로 Karl Guertin의 AutoClose를 사용합니다 (드물지만 아직 문제는 발견하지 못했습니다). –