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.