Le curseur peut-il revenir à la position précédente?

24

Puis-je faire revenir mon curseur dans un tampon à sa dernière position? (de préférence sans avoir à marquer la position précédente)

Par exemple, Ca saute au début de la ligne actuelle, puis-je revenir à l'endroit où il était avant?

Par exemple, lorsque Cx Cf ouvre un fichier dans un répertoire différent, je veux revenir à la position précédente dans le nom du chemin.

Merci.

Tim
la source
Quelles seront les C-x xcourses exchange-point-and-mark? Emacs ne stocke pas tous les mouvements du curseur, seulement ceux auxquels vous l'avez spécifiquement demandé. L'ajout et le saut de marques sont une façon de stocker l'historique des mouvements du curseur. emacswiki.org/emacs/MarkCommands - voici une bonne discussion du sujet.
wvxvw
1
C-x xest indéfini. M-x exchange-point-and-mark: aucune marque définie dans ce tampon.
Tim
@Tim C'est le cas C-x C-x. Vous devez également définir une marque en premier pour que cela fonctionne. Pour définir une marque explicitement, vous le faites C-SPC. Pour revenir à la marque précédente, vous le faites C-u C-SPC.
Kaushal Modi
Ouais, c'est vrai, désolé, ça l'était C-x C-x. C-x xest ma propre liaison.
wvxvw
1
Je ne sais pas s'il s'agit d'un doublon, mais emacs.stackexchange.com/q/3421/454 peut être utile.
phils

Réponses:

30

Voici quelques liaisons liées à la marque qui peuvent vous aider:

  • C-SPC- définir la marque et activer la région (lié à set-mark-command)
  • C-SPC C-SPC - définir la marque (active puis désactive la région)
  • C-x C-x - lié à exchange-point-and-mark
  • C-u C-SPC - passer à la marque précédente

Consultez la documentation Mark pour une meilleure compréhension de ce sujet.

Kaushal Modi
la source
9
Notez que les commandes susceptibles de déplacer le curseur à une distance arbitraire (mais potentiellement grande) de l'endroit où vous vous trouviez repousseront (généralement) automatiquement la marque en premier. Ainsi, vous pouvez souvent revenir à l'endroit où vous étiez auparavant avec un seul C-u C-SPC.
phils
Avec, counsel-mark-ringil est également possible de répertorier toutes les marques et de les parcourir avec des curseurs, en obtenant un aperçu en temps réel dans le tampon.
Arialdo Martini
6

Si vous effectuez des modifications aux emplacements où vous atterrissez, goto-last-changefaites-le pour vous. http://www.emacswiki.org/emacs/GotoLastChange

incandescentman
la source
2
Dans Spacemacs, il est lié àg ;
iLemming
1

Vous pouvez utiliser les «registres».

Depuis le fichier info emacs

13.1 Sauvegarde des positions dans les registres

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

C-x r j R' Jump to the position and buffer saved in register R (sauter à enregistrer »).

Taper C-x r <SPC>' (point à registre '), suivi d'un caractère `R', enregistre à la fois la position du point et la mémoire tampon actuelle dans le registre R. Le registre conserve ces informations jusqu'à ce que vous y stockiez autre chose.

La commande «Cx rj R» bascule vers le tampon enregistré dans le registre R et déplace le point vers la position enregistrée. Le contenu du registre n'est pas modifié, vous pouvez donc passer à la position enregistrée autant de fois que vous le souhaitez.

Si vous utilisez C-x r j' to go to a saved position, but the buffer it was saved from has been killed,Cx, rj 'essaie de recréer le tampon en visitant le même fichier. Bien sûr, cela ne fonctionne que pour les tampons qui visitaient les fichiers.

Joe
la source