vim에서 코드 블록 선택


13

다음과 같은 코드가 제공됩니다.

588          while ($linecounter > 0) {
589             $token = " ";
590             while ($token != PHP_EOL) {
591                 if (fseek($handle, $pos, SEEK_END) == -1) {
592                     $beginning = true;
593                     break;
594                 }
595                 $token = fgetc($handle);
596                 $pos--;
597             }
598             $linecounter--;
599             if ($beginning) {
600                 rewind($handle);
601             }
602         }

커서는 =590 행 의 문자 에 있습니다.

코드 블록을 선택하는 가장 효율적인 방법은 다음과 같습니다.

  1. 590-597 행
  2. 591-596 행 (내부 만)

답변:


20

첫 번째 작업을 수행하려면

  • 히트 $하여 lineover의 끝으로 이동{
  • 푸시 v또는 V(라인 선택 여부에 따라)
  • %(대응 브래킷으로 이동하려면)을 누릅니다 .

내부 부분 만 선택하려면 내부 부분으로 이동하여 i{방향 수정자를 사용하십시오 .

예를 들어, 현재 {…}블록 내부의 모든 것을 삭제하려면 다음을 입력하십시오 di{..


1
와우, 나는 방금 사용 방법을 배웠습니다. yi(:)
takeshin

10
  1. $일치하는 괄호 로 건너 뛸
    v선택을 시작하려면 ( V줄 전체에 대해 ) 현재 줄의 끝
    %으로 점프하십시오.

  2. j커서가 중괄호 안에 있도록 한 줄 아래로 이동하면 선택
    v을 시작 하려고 선택하려고합니다 ( V전체 줄에 대해)
    i{중괄호 안의 모든 것을 선택하십시오


방법 1의 $ 이동은 열기 괄호가 줄의 끝에 있기 때문에 방법 2가 작동하기 때문에 방법 2가 아마도 가장 좋은 방법 일 것입니다. 커서가 중괄호 안에 있으면 방법 2는 j 움직임없이 작동합니다.
SpoonMeiser

3

Caleb의 답변을 약간만 확장하려면 vi{코드 블록의 "내부"를 선택하십시오. 코드 블록의 "외부"(예 : 중괄호 포함)를 포함 시키려면을 사용하십시오 va{.

이것은 while스탠자를 포함하지 않습니다 . 이렇게하려면 o커서를 선택 시작 부분 0으로 이동 한 다음 선택 항목을 줄 시작 부분으로 이동하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.