emacs — C / C ++가 포함 블록의 시작으로 이동


10

emacs에서 C 또는 C ++ 파일을 편집하는 동안 포함 된 코드 블록의 시작 부분으로 이동하고 싶습니다 . 나는 c-beginning-of-block 함수를 찾을 것으로 기대했지만 슬프게도 그러한 기능은 존재하지 않습니다. 예를 들어 다음과 같은 추악한 C 코드를 편집하고 있습니다.

void myFunction()
{
  if (something) { //<--- I want to jump to this brace!
    // do lots of stuff
    if (stuff) {
      // stuff
    }
    // more stuff
    // ...

    // I want to put my cursor somewhere on this line <---
    // (anywhere just outside the following if) and call c-beginning-of-block
    // and jump to the brace marked above (skipping "sibling" statements)
    if (pizza_is_good) {
      // do something
      // wait, where am I?
    }
    // way more stuff
    // ...
    if (i_love_pizza) {
      // eat pizza
    }
  }
}

이것이 이미 이맥스의 일부가 아닌 경우 매우 놀랐습니다. 어디에서나 찾을 수 없습니다 ...

포트란 모드는 fortran-beginning-of-block

프로 멜라 모드는 promela-find-start-of-containing-block

답변:


14

backward-up-list기본적으로에 바인딩 된을 사용해보십시오 C-M-u.


1
CMn (전달 목록)이 블록의 끝으로 점프
— Francois

블록 내에서 처음부터 끝까지 계속 점프하려면 블록의 끝으로 이동하려고 할 때 함수 호출 C-M-n의 끝으로 이동하기 때문에 목적을 해결하지 못합니다 ).
— dknight

1
CMn (다음) 및 CMp (이전)의 네 가지 관련 명령이 있습니다. 전체 괄호 블록을 앞뒤로 이동하고 CMu (위) 및 CMd (아래)는 괄호의 중첩 수준을 한 단계 위 또는 아래로 안내합니다. (참조 문서를 그래서 현재 블록의 끝으로 이동), 당신은 CMU CMN 필요
— rbennett485
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.