Diese Frage wurde ursprünglich unter /programming/15895313/let-emacs-move-the-cursor-off-screen gestellt , aber alle Antworten, die ich erhielt, sagten mehr oder weniger "es geht nicht" , was ich mit emacs einfach nicht akzeptiere.
Ist es möglich, Emacs den Cursor außerhalb des Bildschirms bewegen zu lassen, wie es die meisten GUI-Texteditoren tun? Dies ist eines der größten Dinge, die mich stören, wenn ich Emacs über einen GUI-Editor verwende. Wenn ich nach unten scrolle, wird der Cursor am oberen Rand des Puffers "nach vorne geschoben".
Ich hatte vorher gedacht, dass dies völlig unmöglich ist, da dies fest mit der Architektur von Emacs verbunden ist, aber dann sah ich mehrere Cursor, die genau dies für die sekundären Cursor tun (vorausgesetzt, Sie verhindern, dass die Bildlauffunktionen auf die sekundäre wirken Cursor). Ist es vielleicht möglich, mehrere Cursor zu verwenden, um den Hauptcursor in einem versteckten Puffer zu haben, und der effektive Cursor ist das, womit ich ihn tatsächlich bearbeite? Oder vielleicht einen anderen cleveren Trick? Oder hat mich mein Googeln im Stich gelassen und das geht wirklich schon ohne Magie?
Ich benutze das Terminal Emacs, so sollte es dort funktionieren.
Antworten:
Es gibt ein neues Paket auf GNU ELPA genannt ,
scroll-restore
dass Versuche , dieses Problem zu beheben. Es gibt eine Handvoll verschiedener Verhaltensweisen zur Auswahl, aber die Art und Weise, wie ich sie für mich konfiguriert habe (siehe unten), lässt den Cursor während der Bildlaufbefehle unsichtbar werden und springt dann zu seiner ursprünglichen Position zurück, wenn ich wieder mit der Eingabe beginne.Bisher bin ich auf einige Fehler gestoßen, aber das Paket scheint größtenteils so zu funktionieren, wie es angekündigt wurde. Sie können es testen, indem Sie es mit installieren
Nach der Installation des Pakets können Sie den Nebenmodus mit aktivieren
Persönlich Scroll Lockbinde ich es an den Schlüssel, weil es so unglaublich aussieht! Folgendes füge ich meiner Init-Datei hinzu:
quelle
Die Methode, die ich immer verwende, besteht darin, die Marke zu setzen, zu der ich zurückspringen möchte. Wenn ich mit dem Durchsuchen des Puffers fertig bin, platziere ich die Marke mit
C-u C-SPC
. Selbst wenn ich vergesse, die Marke zu setzen, bevor ich losfahre, stelle ich fest, dass das Aufspringen der Marke mich normalerweise in die Nähe meines Ursprungs bringt. Dies liegt zum Teil daran, dass einige Befehle (wieisearch
zum Beispiel) die Marke setzen, ohne dass Sie es merken. Während Ihrer Bearbeitung haben Sie also versehentlich eine kleine Spur von Paniermehl hinterlassen.Aus der Dokumentation:
Ich mache mir fast nie die Mühe, Lesezeichen oder Register zu setzen, aber ich finde fast immer zurück, woher ich komme, indem ich entweder
C-u C-SPC
oder benutzepop-global-mark
.quelle
scroll-up
undscroll-down
die Markierung automatisch setzen, so dass SieC-u C-SPC
sicher wieder dorthin gelangen, wo Sie herkommen.Der folgende Code ist gut genug, um nach dem Scrollen mit dem Mausrad zurückzuspringen:
quelle