Il metodo migliore (pressione minima dei tasti) per saltare all'inizio di una funzione e poi tornare al punto corrente?


16

A volte sono all'interno di una lunga funzione in cui l'inizio della funzione non è visibile. Mentre di recente ho saputo di (which-function-mode)cosa mi dice nella modeline il nome della funzione, mi piacerebbe poter saltare rapidamente all'inizio della funzione e poi tornare indietro nel modo più semplice possibile.

Finora ho trovato due soluzioni.

  1. Usando un segno

    C-SPC Segna il punto corrente

    C-M-a Spostarsi indietro per iniziare la funzione

    C-x C-x Scambia il segno con il punto corrente (salta indietro)

    C-g Annulla la regione contrassegnata

  2. Utilizzando un registro

    C-x r SPC p Salva il punto corrente nel registro 'p'

    C-M-a Spostarsi indietro per iniziare la funzione

    C-x r j p Salta al punto salvato nel registro 'p'

C'è un modo migliore? Non sono contrario all'aggiunta di un po 'di elisp al mio .emacsfile.

Risposte:


19

Questo funziona per me:

  • C-M-aper spostarsi all'inizio della funzione; questo imposta automaticamente il segno
  • C-u C-SPC per far apparire il segno e tornare alla posizione precedente

2
Bello! Non avevo idea che mi avrebbe segnato, e non sapevo del modificatore del prefisso perset-mark-command
Harvey,

10
Una volta che ti sarai abituato a usare pop-to-mark-command(che è ciò che viene chiamato C-u C-SPC), ti chiederai come hai vissuto senza di essa. Puoi tornare da dove sei venuto seguendo una scia di pangrattato che non sapevi nemmeno che stavi lasciando.
nispio,

Infatti. È tipico per i comandi Emacs di spingere verso l'anello di marcatura se stanno per spostarti di una distanza arbitraria da dove eri, quindi gli utenti dovrebbero ricordare questo approccio in generale.
phils,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.