10

При редактировании файлов C или C++ в emacs я хотел бы иметь возможность перейти к началу содержащего его блока кода. Я ожидал найти функцию с-началом-блока, но, увы, такой функции не существует (насколько мне известно). Например, я мог бы редактировать следующий уродливый код 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
    }
  }
}

Я был бы очень удивлен, если бы это не было частью emacs, я просто не могу найти его нигде ...

Фортран-режим имеет fortran-beginning-of-block

promela-mode имеет promela-find-start-of-containing-block

1 ответ1

12

Попробуйте backward-up-list , связанный по умолчанию с CMu.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .