Welche Pakete stehen für die modale Bearbeitung in Emacs zur Verfügung? Was benutzt du und warum?
Lassen Sie uns versuchen, ein Paket pro Antwort zu posten. Ich schlage vor, die Vor- und Nachteile jedes Pakets zu erwähnen.
Hier ist meine Definition der Modalbearbeitung (ich konnte keinen speziellen Wikipeadia-Artikel finden):
Modale Bearbeitung - Art der Textbearbeitung, wenn der Benutzer in regelmäßigen Abständen zwischen dem „normalen Modus“ umschaltet, wenn die Tasten nicht zum Einfügen von Zeichen führen, sondern verschiedene Operationen mit Text ausführen, und dem „Einfügemodus“, wenn die Tasten entsprechende Zeichen einfügen. Es kann natürlich mehr Modi geben. Die meisten modernen Editoren sind nicht modal. Ein Beispiel für einen modalen Texteditor ist Vi (Vim).
quelle
Antworten:
evil
, der E xtensible VI L ayer für EmacsAbgesehen von fragwürdigen Namen
evil
handelt es sich um den aktuellen Stand dervim
Emulation in Emacs (und möglicherweise auch anderswo). Es werden viele Funktionen unterstützt, auf die andere Vim-Emulationspakete verzichten, darunter:vim
Textobjektevim
registriertvim
Tastaturmakrosex
befehleVorteile
vim
bedeutet, dass Sie Ihr Muskelgedächtnis nicht verlieren, wenn Sie zu Systemen ohne Emacs wechseln.vim
wurden portiertevil
.vim
Stil Grammatik ist modular und eignet sich sehr gut für Benutzererweiterungevil
selbst ist sehr erweiterbar: Erstellen Sie Ihre eigenen Textobjekte, Operatoren und Bewegungen!Nachteile
evil
macht das die gängigsten Use-Cases lächerlich einfach.evil
ist ein sehr komplexes System. Das Hacken auf den bösen Kern kann ziemlich kompliziert werden.vim
Tastenkombinationen sind nicht unbedingt ergonomisch optimal. Manchmal fühlen sie sich etwas willkürlich an, wenn sie auf ein anderes System portiert werden.quelle
Es gibt
god-mode
( https://github.com/chrisdone/god-mode ), das Standard-Emacs-Tastenkombinationen verwendet, aber keine Modifikatoren mehr benötigt. Wenn Gott-Modus aktiviert ist,C-...
erfordern Bindungen keinen Modifizierer undM-...
Bindungen verwenden ein Präfix anstelle eines Modifizierers.Als Beispiel von der Github-Seite:
quelle
Ich möchte mich bei @Mark für die Ermutigung bedanken.
Xah Fly Keys
Entwickelt von Grund auf für Emacs, mit dem Ziel das effizienteste System zu sein, basierend auf jahrelanger Erfahrung mit dem Ergoemacs-Modus. Die wichtigsten Entscheidungen basieren so weit wie möglich auf wissenschaftlichen Erkenntnissen, basierend auf Statistiken der Schlüsselhäufigkeit und der einfach zu bedienenden Schlüsselbewertung. Die am häufigsten verwendeten Befehle sind den am einfachsten zu bedienenden Tasten zugeordnet. Andere Themen, wie Gruppierung und Bigramm für die Tastenbelegung, werden ebenfalls nach dreijährigem wöchentlichem Experiment berücksichtigt.
Interessante Punkte:
Nachteile:
Ich bin der Autor, seien Sie also gewarnt, dass ich unbewusst voreingenommen sein könnte. Fühlen Sie sich frei zu kommentieren oder zu korrigieren.
quelle
Modalka muss das neueste Kind im modalen Bearbeitungsblock sein. Das Github-Projekt scheint alle 10 Tage alt zu sein. Ich habe nicht genügend Zeit, um zu kommentieren oder zu bewerten, aber hier ist, wie es beschrieben wird:
Die Dokumentation auch vergleicht und kontrastiert Modalka mit anderen üblichen modalen Lösungen, wie
evil
,god-mode
,boon
usw.quelle
Segen
Boon ist eines der weniger bekannten Pakete für die modale Bearbeitung. Es emuliert kein Vi (oder Vim), bietet jedoch ein für das Colemak-Tastaturlayout optimiertes Originallayout.
Vorteile und Konstruktionsprinzipien
Zuerst die räumliche Zuordnung, dann die Mnemonik: Die Zuordnung der Tasten zu den Befehlen richtet sich vorrangig nach den Positionen der Tasten auf der Tastatur. Was auch immer auf der Tastenkappe aufgedruckt ist, ist zweitrangig.
Leichte Fingerrollen: Die übliche Kombination sollte entweder eine Abwechslung zwischen der linken und rechten Hand oder einfache Einhandrollen sein.
Verwendung von Home Row und starken Fingern für die am häufigsten verwendeten Befehle
Einfache Navigation: Viele Befehle sind an die Navigation gebunden. Dies erleichtert das Bewegen. Da Bewegungen als Bereichsdefinitionen fungieren, werden Manipulationsbefehle (Operatoren) leistungsfähiger.
Nachteile
quelle
Ergoemacs unterstützt auch die modale Bearbeitung. Es emuliert kein vi, verwendet jedoch die Alt-Taste für die am häufigsten verwendeten Befehle. Zum Beispiel ist das Bewegen des Cursors Alt plus rechts invertiertes T. (bei QWERTY Alt+ jfür left, Alt+ lfür rechts, Alt+ ifür upund Alt+ kfür down). Das Löschen von Zeichen oder Wörtern erfolgt Altmit den linken Startzeilentasten. Die Tastenauswahl basiert auf der Befehlsfrequenz und der Tastenposition, um das Drücken zu vereinfachen.
Neben dem traditionellen modal Paradigma gibt es eine quasi modal Paradigma , das jeder kann
C-x
oderC-c
Tastenkombination ohne Verwendung von Modifikatoren erreicht werden (wie Gott-Modus).C-c
bei gedrückter Steuertaste und der QWERTZ apps dfür gestartetC-x
.Zusätzlich zum Ändern der Befehlstasten können Sie im Ergoemacs-Modus während der Eingabe Änderungen an der Tastenfolge vornehmen:
ergoemacs-mode versucht auch, alles zu respektieren, was der Modus mit den Grundtasten macht. Wenn der
next-line
Organisationsmodus beispielsweise einen speziellen Schlüssel für definiert , verwendet ergoemacs diesen Befehl für Alt+, kwenn er sich im Organisationsmodus befindet .Vorteile:
C-o
), Schließen (C-w
), Alles auswählen (C-a
), Kopieren (C-c
), Ausschneiden (C-x
), Einfügen (C-v
) usw.Nachteile:
Siehe https://github.com/ergoemacs/ergoemacs-mode
quelle
Eine weitere semimodale Option ist Hydra:
https://github.com/abo-abo/hydra
Laut der Website
Stellen Sie sich vor, Sie haben Cc j und Cc k in Ihrer Konfiguration gebunden. Sie möchten Cc j und Cc k in einer beliebigen Reihenfolge aufrufen. Mit Hydra können Sie:
Binden Sie Ihre Funktionen so, dass das Drücken von Cc jjkk3j5k dem Drücken von Cc j Cc j Cc k Cc k M-3 Cc j M-5 Cc k entspricht. Jede andere Taste als j oder k verlässt diesen Zustand.
Weisen Sie dieser Gruppe von Funktionen einen benutzerdefinierten Hinweis zu, sodass Sie unmittelbar nach dem Drücken von Cc wissen, dass Sie j oder k nachziehen können.
Ich habe es nicht benutzt, aber es scheint interessant zu sein.
quelle