Après l'émission scroll-up
ou scroll-down
dans emacs, existe-t-il un moyen rapide de ramener le point à sa position précédente (en supposant que je ne me souvienne pas de l'ajouter à l'anneau de marque)?
Sinon, existe-t-il un moyen (sans interférer avec l'anneau de repère) de modifier le comportement de défilement de sorte que le défilement vers le haut puis le défilement vers le bas (ou vice versa) ramène le point à sa position d'origine? (par exemple, faire défiler le point exactement x lignes où x est la hauteur de l'écran)
Je suis en train de m'habituer à emacs et c'est l'une des situations les plus courantes provoquant des malédictions: je fais défiler pour voir une autre partie de mon code sans me souvenir d'ajouter ma ligne à l'anneau de marque et puis c'est pénible d'essayer pour déplacer la ligne de code sur laquelle je travaillais. En tant que tel, alors que je demande une solution technique, je serais également intéressé d'entendre comment les utilisateurs chevronnés évitent ce problème. Vous êtes-vous habitué à vous souvenir de définir une marque, de diviser la fenêtre pour regarder autour ou d'utiliser un autre motif?
Merci
scroll-up-line
(ce que j'utilise avec ma molette de défilement) de faire avancer le curseur d'un caractère lorsqu'il atteint le haut ou le bas de l'écran.(setq scroll-preserve-screen-position 'always)
. Sinon,C-v M-v
ne remet pas le point où vous avez commencé. (La deuxième position du point est visible sur le premier écran afin que le point ne recule pas)Ce que j'ai trouvé fonctionne bien
goto-last-change.el
, c'est ce qui vous ramène à l'emplacement où vous avez effectué la dernière modification. J'aime la reliure:la source
C-_ C-f C-_
(annuler, déplacer, annuler).En réponse à votre question sur la façon dont j'évite le problème que vous décrivez (en regardant ailleurs dans le code et en revenant ensuite au point où je travaillais) ...
En règle générale, je divise l'écran lorsque je dois regarder brièvement ailleurs. Ensuite, je peux revenir à l'écran d'origine avec
C-x o
, non divisé avecC-x 1
et je suis revenu à la normale.J'utilise également l'i-search avant et arrière pour localiser un point d'intérêt particulier dans le code. Je trouve que c'est un moyen assez efficace de naviguer dans le code lorsque je sais ce que je recherche.
la source
Si je ne fais défiler que quelques lignes de l'endroit où je suis actuellement, je peux l'utiliser pour faire défiler la fenêtre sans déplacer le point:
Si je passe à une section complètement différente d'un fichier (ou à un fichier complètement différent), j'utilise parfois
breadcrumb
bien qu'il existe de nombreux autres packages qui font des choses similaires.Si j'ai besoin de voir visuellement deux zones de code en même temps, je diviserai le cadre horizontalement en deux fenêtres, puis je rejetterai la deuxième fenêtre lorsque j'aurai terminé.
Surtout, cependant, j'utilise simplement deux cadres, l'un étant mon cadre de travail actuel et l'autre étant mon cadre de référence, utilisé pour sauter autour du même fichier ou d'autres fichiers.
la source
C-l
.