접기 실패 : vim에서 접기를 찾을 수 없습니다


9

PHP 코드를 접 으려고하는데 게시물 끝에 접 으려고하는 일부 코드의 컷 다운 버전을 포함 시켰습니다.

다음 vim 명령을 시도했지만 아래 ex 명령 만 작동합니다. 비 ex 명령은 작동하지 않으며 상태 표시 줄에 흰색에 빨간색 메시지가 표시됩니다. 접기를 찾을 수 없습니다.

:help folding
:help fold-commands
:help foldmethod

:set foldmethod=syntax

zi - toggle folding

zj - move to top of next fold
zk - move to bottom of previous fold

za - toggle current fold open and closed
zo - open current fold
zc - close current fold

zA - toggle all current folds at the current cursor position
zO - open all current folds at the current cursor position
zC - close all current folds at the current cursor position

어떻게 예를 들어 I (주름을 찾기 위해 정력을 얻을 사이에 코드를 접 할 수 {}나 사이 ().

다음은 샘플 코드입니다 (구문 적으로 정확하고 vim 명령이 작동 함을 보여주기 위해).

function getTree() {

  return array(
    "node1" => array(
      "node11" => array(
        "node111" => "leaf111",
        "node112" => "leaf112",
        "node113" => "leaf113",
      ),
          "node12" => array(
        "node121" => "leaf121",
        "node122" => "leaf122",
        "node123" => "leaf123",
      ),
      "node13" => array(
        "node131" => "leaf131",
        "node132" => "leaf132",
        "node133" => "leaf133",
      ),
    ),
    "node2" => array(
      "node21" => array(
        "node211" => "leaf211",
        "node212" => "leaf212",
        "node213" => "leaf213",
      ),
          "node22" => array(
        "node221" => "leaf221",
        "node222" => "leaf222",
        "node223" => "leaf223",
      ),
      "node23" => array(
        "node231" => "leaf231",
        "node232" => "leaf232",
        "node233" => "leaf233",
      ),
    ),
    "node3" => array(
      "node31" => array(
        "node311" => "leaf311",
        "node312" => "leaf312",
        "node313" => "leaf313",
      ),
          "node32" => array(
        "node321" => "leaf321",
        "node322" => "leaf322",
        "node323" => "leaf323",
      ),
      "node33" => array(
        "node331" => "leaf331",
        "node332" => "leaf332",
        "node333" => "leaf333",
      ),
    ),
  );

}

답변:


9

Vim에는 PHP 구문 접기가 내장되어 있지 않습니다. 그러나 모든 코드가 제대로 들여 쓰기 된 경우 (예 : 그대로) 다른 접기 방법을 사용할 수 있습니다.

:set foldmethod=indent

5

phpfolding.vim이 제공합니다. 이것의 장점은 :set foldmethod=indent들여 쓰기뿐만 아니라 실제 PHP 구문을보기 때문에 "더 똑똑"하다는 것입니다. 읽어보기에서 :

  • 접기 설정을 기억합니다. 함수를 추가하고 스크립트를 다시 실행하면 열린 접기가 닫히지 않습니다.
  • 주석 블록이나 문자열 리터럴에서 대괄호로 혼동되지 않습니다.
  • PhpDoc 주석으로 클래스 속성을 접습니다.
  • 모든 클래스 속성을 하나의 접기로 접습니다.
  • 원래 마커 스타일을 접는 것도 접습니다.
  • 접힌 접미사 "**"는 PhpDoc이 내부에 있음을 나타냅니다 (구성 가능).
  • 접힘 접두어를 붙인 "** # @ +"는 PhpDocBlock이 내부에 있음을 나타냅니다 (구성 가능).
  • 접힘 접두사 뒤에 빈 줄은 접힘에 포함되도록 구성 할 수 있습니다.
  • 중첩 된 접기가 지원됩니다 (함수 내부의 함수 등).
  • 비공개, 공개, 보호 클래스 변수 + 다중 라인 매개 변수 접기.
  • 클래스 폴 로딩은 이제 기본적으로 비활성화 된 옵션입니다.

.vim스크립트 를 다운로드하여 설치 ~/.vim/ftplugin/php/하거나 플러그인 관리자를 사용하여 설치하십시오. 자동으로 접 히고으로 비활성화 할 수 있습니다 let g:DisableAutoPHPFolding = 1.


이 플러그인을 사용해 볼 것입니다. 때로는 코드를 작성할 때 구문 오류가 있기 때문에 추가 기능이 유용 할 것이라고 확신합니다. 감사.
John Sonderson
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.