Después de emitir scroll-up
o scroll-down
en emacs, ¿hay una forma rápida de devolver el punto a su posición anterior (suponiendo que no recordara agregarlo al anillo de marca)?
Alternativamente, ¿hay alguna manera (sin interferir con el anillo de la marca) para alterar el comportamiento de desplazamiento para que el desplazamiento hacia arriba y hacia abajo (o viceversa) devuelva el punto a su posición original? (por ejemplo, haga que el desplazamiento mueva el punto exactamente x líneas donde x es la altura de la pantalla)
Estoy en el proceso de acostumbrarme a emacs y esta es una de las situaciones más comunes que provocan maldiciones: me desplazo para ver otra parte de mi código sin recordar agregar mi línea al anillo de marcas y luego es doloroso intentarlo para reubicar la línea de código en la que estaba trabajando. Como tal, mientras solicito una solución técnica, también me interesaría saber cómo los usuarios experimentados evitan este problema. ¿Te acostumbras a recordar establecer una marca, dividir la ventana para mirar alrededor o usar algún otro patrón?
Gracias
scroll-up-line
(que es lo que uso con mi rueda de desplazamiento) que el cursor avance un carácter cuando toca la parte superior o inferior de la pantalla.(setq scroll-preserve-screen-position 'always)
. De lo contrario,C-v M-v
no pone el punto donde comenzó. (La posición del segundo punto es visible en la primera pantalla para que el punto no retroceda).Lo que he encontrado que funciona bien es el uso
goto-last-change.el
, que lo lleva de vuelta a la ubicación donde realizó la última edición. Me gusta la encuadernación:fuente
C-_ C-f C-_
(deshacer, mover, deshacer).En respuesta a su pregunta sobre cómo evito el problema que describe (buscando en otra parte del código y luego volviendo al punto en el que estaba trabajando) ...
Por lo general, dividiré la pantalla cuando necesite buscar brevemente en otro lado. Luego puedo volver a la pantalla original con
C-x o
, sin dividirC-x 1
y vuelvo a la normalidad.También utilizo i-search hacia adelante y hacia atrás para localizar un punto de interés particular en el código. Creo que es una forma bastante eficiente de navegar por el código cuando sé lo que estoy buscando.
fuente
Si solo estoy desplazando unas pocas líneas desde donde estoy actualmente, puedo usar esto para desplazar la ventana sin mover el punto:
Si me estoy mudando a una sección completamente diferente de un archivo (o a un archivo completamente diferente), a veces lo uso,
breadcrumb
aunque hay muchos otros paquetes que hacen cosas similares.Si necesito ver visualmente dos áreas de código al mismo tiempo, dividiré el marco horizontalmente en dos ventanas y luego descartaré la segunda ventana cuando termine.
Sin embargo, en su mayoría, solo uso dos cuadros, uno es mi cuadro de trabajo actual y el otro es mi cuadro de referencia, usado para saltar alrededor del mismo u otros archivos.
fuente
C-l
.