Il cursore può tornare alla posizione precedente?


24

Posso far tornare il cursore in un buffer alla sua ultima posizione? (preferibilmente senza dover contrassegnare la posizione precedente)

Ad esempio, Ca salta all'inizio della riga corrente, posso tornare indietro a dove era prima?

Ad esempio, quando Cx Cf apre un file in una directory diversa, voglio tornare alla posizione precedente nel nome del percorso.

Grazie.


Quali saranno le C-x xcorse exchange-point-and-mark? Emacs non memorizza tutti i movimenti del cursore, ma solo quelli a cui gli hai specificamente indicato. Aggiungere e schioccare i segni è un modo per memorizzare la cronologia dei movimenti del cursore. emacswiki.org/emacs/MarkCommands - ecco una buona discussione sull'argomento.
wvxvw,

1
C-x xè indefinito. M-x exchange-point-and-mark: nessun segno impostato in questo buffer.
Tim

@Tim Lo è C-x C-x. Inoltre, devi prima impostare un segno affinché funzioni. Per impostare un segno esplicitamente, lo fai C-SPC. Per tornare al segno precedente, lo fai C-u C-SPC.
Kaushal Modi,

Sì, giusto, scusa, lo era C-x C-x. C-x xè il mio legame.
wvxvw,

1
Non sono sicuro che si tratti di un duplicato, ma emacs.stackexchange.com/q/3421/454 potrebbe essere utile.
phils,

Risposte:


30

Ecco alcuni collegamenti correlati ai segni che possono aiutarti:

  • C-SPC- imposta il segno e attiva la regione (associato a set-mark-command)
  • C-SPC C-SPC - imposta il segno (attiva e quindi disattiva la regione)
  • C-x C-x - legato a exchange-point-and-mark
  • C-u C-SPC - passa al segno precedente

Consulta la documentazione di Mark per una migliore comprensione di questo argomento.


9
Nota che i comandi che sono in grado di spostare il cursore di una distanza arbitraria (ma potenzialmente grande) dalla posizione in cui ti trovavi (tipicamente) spingono automaticamente prima il segno. Quindi puoi tornare spesso dove eri prima con un singolo C-u C-SPC.
phils,

Con counsel-mark-ringè anche possibile elencare tutti i segni e navigarli con i cursori, ottenendo un'anteprima in tempo reale nel buffer.
Arialdo Martini,


1

Puoi usare "Registri".

Dal file di informazioni di emacs

13.1 Salvataggio delle posizioni nei registri

C-x r <SPC> R' Record the position of point and the current buffer in register R (point-to-registro ').

C-x r j R' Jump to the position and buffer saved in register R (jump-to-registro ').

Digitando C-x r <SPC>' (point-to-register '), seguito da un carattere `R', salva sia la posizione del punto sia il buffer corrente nel registro R. Il registro conserva queste informazioni fino a quando non memorizzi qualcos'altro.

Il comando "Cx rj R" passa al buffer registrato nel registro R e sposta il punto nella posizione registrata. Il contenuto del registro non viene modificato, quindi è possibile passare alla posizione salvata un numero qualsiasi di volte.

Se usi C-x r j' to go to a saved position, but the buffer it was saved from has been killed,Cx rj 'prova a creare nuovamente il buffer visitando lo stesso file. Naturalmente, questo funziona solo per i buffer che visitavano i file.

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.