Esta pregunta se hizo originalmente en /programming/15895313/let-emacs-move-the-cursor-off-screen , pero todas las respuestas que obtuve más o menos decían "no se puede hacer" , que con emacs simplemente no acepto.
¿Es posible dejar que Emacs mueva el cursor fuera de la pantalla, como funciona la mayoría de los editores de texto GUI? Esta es una de las cosas más importantes que me molesta cuando uso Emacs sobre cualquier editor de GUI. Cuando me desplazo hacia abajo, el cursor es "empujado hacia adelante" por la parte superior del búfer.
Anteriormente pensé que esto era completamente imposible, porque está conectado a la arquitectura de Emacs, pero luego vi múltiples cursores, que hace exactamente esto para los cursores secundarios (suponiendo que evite que las funciones de desplazamiento actúen en el secundario cursores). ¿Es posible usar múltiples cursores para tener el cursor principal en algún búfer oculto, y el cursor efectivo es con lo que realmente edito? ¿O tal vez algún otro truco inteligente? ¿O tal vez mi Google me ha fallado y esto ya es posible sin magia?
Yo uso el terminal emacs, por lo que debería funcionar allí.
Respuestas:
Hay un nuevo paquete disponible en GNU ELPA llamado
scroll-restore
que intenta remediar este problema. Hay un puñado de comportamientos diferentes para elegir, pero la forma en que lo configuré para mí (ver más abajo) hace que el cursor se vuelva invisible durante los comandos de desplazamiento y luego vuelva a su ubicación original cuando empiezo a escribir de nuevo.Hasta ahora, he encontrado algunos errores, pero el paquete parece funcionar como se anuncia en su mayor parte. Puede probarlo instalándolo con
Después de instalar el paquete, puede habilitar el modo menor con
Personalmente, lo estoy vinculando a la Scroll Lockclave porque parece increíblemente apropiado. Esto es lo que estoy agregando a mi archivo init:
fuente
El método que siempre uso es establecer la marca donde quiero volver a saltar, y luego, cuando termino de leer el búfer, hago estallar la marca usando
C-u C-SPC
. Incluso cuando me olvido de establecer la marca antes de alejarme, encuentro que hacer estallar la marca generalmente me deja bastante cerca de donde vine. Esto se debe en parte al hecho de que algunos comandos (comoisearch
por ejemplo) establecen la marca sin que te des cuenta. Entonces, a lo largo de su edición, sin darse cuenta ha dejado un pequeño rastro de migas de pan.De la documentación:
Casi nunca me molesto en establecer marcadores o registros, pero casi siempre puedo encontrar el camino de regreso de donde vengo rápidamente usando
C-u C-SPC
opop-global-mark
.fuente
scroll-up
yscroll-down
automáticamente ajusta la marca, por lo queC-u C-SPC
sería seguro para ayudarle a volver de dónde viene.El siguiente código es lo suficientemente bueno como para saltar hacia atrás después del desplazamiento de la rueda del mouse:
fuente