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.