기능을 자동으로 접는 방법은 무엇입니까?


12

함수 선언의 구문에 따라 Vim 접기 함수를 만드는 방법이 있습니까?

예를 들어 vim이 다음과 같은 기능을하게하는 것 :

def foobar(foo,bar):
  if foo > bar:
    print "foo"
  elif foo < bar:
    print "bar"
  elif foo == bar:
    print "foobar"

이것으로 :

+----- 7 lines: def foobar(foo,bar): -------------------------------------------------------------

이 작업을 수행하기 위해 .vimrc 파일 사용에 넣을 수있는 명령이나 함수가 있습니까?

답변:


12

귀하의 예제가 코드 블록의 올바른 들여 쓰기에 의존하는 Python에 있다고 가정하면 다음을 기반으로 접는 것으로 충분합니다.

:set foldmethod=indent

사용 가능한 접기 유형에 대한 자세한 내용은 : help foldmethod를 참조하십시오 .


7

확실한:

set foldmethod=syntax

그런 다음 zc접기를 닫거나 zo열거 나 za전환 할 때 사용할 수 있습니다 .

불행히도 Vim에는 기본적으로 Python에 대한 접기 정보가 포함되어 있지 않습니다. 그러나 많은 외부 리소스 중 하나를 사용할 수 있습니다 .


3
이것이 작동하려면 구문 파일을 사용해야 syn-fold합니다. vim74를 설치할 때 약 10 %의 구문 파일 만 사용합니다.
jalanb
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.