Melhor método (pressionamentos mínimos de teclas) de pular para o início de uma função e depois voltar ao ponto atual?

16

Às vezes, estou dentro de uma função longa, onde o início da função não é visível. Embora tenha aprendido recentemente sobre o (which-function-mode)que me diz na modelagem o nome da função, eu gostaria de poder pular rapidamente para o início da função e depois voltar o mais facilmente possível.

Até agora encontrei duas soluções.

  1. Usando uma marca

    C-SPC Marcar ponto atual

    C-M-a Retroceder para o início da função

    C-x C-x Trocar marca com o ponto atual (pula para trás)

    C-g Cancelar região marcada

  2. Usando um registro

    C-x r SPC p Salvar ponto atual no registro 'p'

    C-M-a Retroceder para o início da função

    C-x r j p Salte para o ponto salvo no registro 'p'

Existe uma maneira melhor? Não sou contra adicionar elisp ao meu .emacsarquivo.

Harvey
fonte

Respostas:

19

Isso funciona para mim:

  • C-M-apara ir para o início da função; isso define marca automaticamente
  • C-u C-SPC para destacar a marca e retornar à posição anterior
rekado
fonte
2
Agradável! Eu não tinha idéia que ele defina a marca para mim, e eu não sabia sobre o modificador de prefixo paraset-mark-command
Harvey
10
Depois de se acostumar a usar pop-to-mark-command(como é chamado C-u C-SPC), você se perguntará como viveu sem ele. Você pode encontrar o caminho de volta de onde veio seguindo uma pequena trilha de migalhas de pão que você nem sabia que estava saindo.
Nispio 24/10
De fato. É comum que os comandos do Emacs cheguem ao ringue de marca se estiverem prestes a mover você a uma distância arbitrária de onde você estava, para que os usuários se lembrem dessa abordagem em geral.
phils