중괄호없이 언어에서 % 사용


17

C 및 C와 같은 언어에서는 %커서가있는 해당 중괄호로 건너 뛸 수 있습니다 . 이것은 잘 알려진 "트릭"입니다.

그러나 루비에서는 예를 들어 :

def fun
    [1, 2].each do |n|
    end
end 

루비는 matchpairs( (:),{:},[:],<:>기본적으로 설정되어 있는) 문자를 사용하지 않기 때문에 작동하지 않습니다 .

설정을 시도했지만 작동하지 않습니다.

:set matchpairs=def:end
E474: Invalid argument: matchpairs=def:end

Ruby와 같은 언어로도 작동시킬 수 있습니까? 이것은 루비와 관련된 질문 이 아니며 다른 예제는 쉘 스크립트 ( if/ fi) 또는 Lua ( function/ end) 등 이 될 수 있습니다 .

답변:


17

matchit 플러그인을 사용할 수 있습니다 . 이것은 현대의 vim 배포판에 포함되어 있으므로 vimrc에 다음을 추가하기 만하면됩니다.

runtime macros/matchit.vim

원하는 경우 플러그인으로 패키지 할 수도 있습니다. 기본적으로 (및를 포함 def하여 end) 많은 키워드 를 인식하고 더 많이 인식하도록 확장 할 수 있습니다.


1
참고 : 입력 :runtime macros/matchit.vim이 작동하지 않습니다. 당신은 ... 당신의 vimrc에 넣어 필요가 있고 빔을 다시 시작
마틴 Tournoij

내가 그거 했어. 여전히 나를 위해 작동하지 않습니다 :(
Thirupathi Thangavel

0

다음 doc matchit, ~ / .vimrc의 아래 추가 사항이 저에게 효과적이었습니다.

:runtime macros/matchit.vim
filetype plugin on

사이트에 오신 것을 환영합니다! 이것은 기본적으로 기존의 승인 된 답변과 동일한 답변입니다. 차이점은 당신의 filetype명령입니다.이 줄을 추가 한 이유와 질문에 대한 답변에 대해 자세히 설명하면 도움이 될 것입니다. (또한 "doc", "the the"라는 오타도 있습니다.
Rich
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.