Quels packages sont disponibles pour l'édition modale dans Emacs? Qu'est ce que vous utilisez et pourquoi?
Essayons de poster un paquet par réponse. Je propose de mentionner les avantages et les inconvénients de chaque colis.
Voici ma définition de l'édition modale (je n'ai pas trouvé d'article Wikipeadia dédié):
Édition modale - style d'édition de texte lorsque l'utilisateur bascule régulièrement entre le «mode normal» lorsque les touches n'entraînent pas l'insertion de leurs caractères mais effectuent diverses opérations sur le texte et le «mode d'insertion» lorsque les touches insèrent les caractères correspondants. Il peut y avoir plus de modes, bien sûr. La plupart des éditeurs modernes ne sont pas modaux. Un exemple d'éditeur de texte modal est Vi (Vim).
la source
Réponses:
evil
Le E à rallonges VI L ayer pour EmacsMis à part le nom discutable,
evil
c'est l'état de l'art actuel en ce qui concerne l'vim
émulation dans Emacs (et peut-être n'importe où ailleurs, d'ailleurs). Il prend en charge de nombreuses fonctionnalités que d'autres packages d'émulation Vim évitent, notamment:vim
objets textevim
registresvim
macros de clavierex
commandesLes avantages
vim
signifie que vous ne perdez pas votre mémoire musculaire lorsque vous passez à des systèmes sans Emacs.vim
ont été portésevil
.vim
la grammaire de style est modulaire et se prête très bien à l'extension utilisateurevil
lui-même est très extensible: créez vos propres objets texte, opérateurs et mouvements!Désavantages
evil
rend les cas d'utilisation les plus courants ridiculement faciles.evil
est un système très complexe. Le piratage du noyau maléfique peut devenir très complexe.vim
les raccourcis clavier ne sont pas nécessairement ergonomiquement optimaux. Parfois, ils peuvent se sentir un peu arbitraires lorsqu'ils sont portés vers un système différent.la source
Il y a
god-mode
( https://github.com/chrisdone/god-mode ), qui utilise des raccourcis clavier Emacs standard mais supprime la nécessité de maintenir les modificateurs enfoncés. Lorsque le mode divin est activé, lesC-...
liaisons ne nécessitent aucun modificateur et lesM-...
liaisons utilisent un préfixe plutôt qu'un modificateur.Comme exemple de la page github:
la source
Ajoutant le mien, merci @Mark pour ses encouragements.
Xah Fly Keys
Conçu à partir de zéro pour emacs, dans le but d'être le système le plus efficace, à partir d'années d'expérience avec le mode ergoemacs. Les choix clés sont basés sur la science autant que possible, basés sur des statistiques de fréquence de touche et de score de touche facile à appuyer. Les commandes les plus fréquemment utilisées sont mappées sur les touches les plus faciles à appuyer. D'autres problèmes, tels que le regroupement et le bigram de liaison de touches, sont également pris en compte à partir de 3 ans d'expérience hebdomadaire.
Points intéressants:
Désavantages:
Je suis l'auteur, alors soyez averti que je peux être inconsciemment biaisé. N'hésitez pas à commenter ou corriger.
la source
Modalka doit être le dernier né du bloc d'édition modale. Le projet github semble avoir 10 jours. Je n'ai pas assez de temps d'utilisation pour commenter ou évaluer, mais voici comment cela est décrit:
La documentation aussi compare et contraste Modalka avec d' autres solutions modales communes, comme
evil
,god-mode
,boon
, etc.la source
Aubaine
Boon est l'un des packages moins connus pour l'édition modale. Il n'émule pas Vi (ou Vim) mais fournit une disposition originale optimisée pour la disposition du clavier Colemak.
Avantages et principes de conception
Allocation spatiale d'abord, mnémonique ensuite: l'allocation des touches aux commandes est basée en priorité sur les emplacements des touches du clavier. Tout ce qui est imprimé sur le capuchon de la clé est une préoccupation secondaire.
Rouleaux de doigt faciles: la combinaison courante doit être l'alternance gauche / droite ou les rouleaux faciles à une main.
Utilisation de la ligne d'accueil et des doigts forts pour les commandes les plus utilisées
Navigation facile: de nombreuses commandes sont liées à la navigation. Cela facilite les déplacements. Comme les mouvements se doublent de définitions de régions, cela rend les commandes de manipulation (opérateurs) plus puissantes.
Désavantages
la source
Ergoemacs prend également en charge l'édition modale. Il n'émule pas vi, mais utilise la touche Alt pour les commandes les plus fréquemment utilisées. Par exemple, le curseur en mouvement est Alt plus T. inversé à droite (Sur QWERTY c'est Alt+ jpour left, Alt+ lpour droite, Alt+ ipour upet Alt+ kpour down). La suppression du caractère ou du mot s'effectue à l' Altaide des touches de la ligne d'accueil de gauche. Les choix de touches sont basés sur la fréquence des commandes et la position des touches pour faciliter la pression.
En plus du paradigme modal traditionnel, il est un paradigme quasi modal qui permet à tout
C-x
ouC-c
combinaison de touches à atteindre sans utiliser les modificateurs (comme mode de dieu).C-c
avec la touche de contrôle enfoncée et le QWERTY apps dpourC-x
.En plus de changer les touches de commande, le mode ergoemacs vous permet de changer des choses sur la séquence de touches tout en la tapant:
ergoemacs-mode tente également de respecter tout ce que le mode fait sur les touches fondamentales. Par exemple, si org-mode définit une clé spéciale pour
next-line
, ergoemacs utilise cette commande pour Alt+ ken mode org.Avantages:
C-o
), Fermer (C-w
), Sélectionner tout (C-a
), Copier (C-c
), Couper (C-x
), Coller (C-v
), etc.Désavantages:
Voir https://github.com/ergoemacs/ergoemacs-mode
la source
Hydra est une autre option semi-modale:
https://github.com/abo-abo/hydra
Selon le site Internet
Imaginez que vous avez lié Cc j et Cc k dans votre configuration. Vous voulez appeler Cc j et Cc k dans une séquence (arbitraire). Hydra vous permet de:
Liez vos fonctions de manière à appuyer sur Cc jjkk3j5k équivaut à appuyer sur Cc j Cc j Cc k Cc k M-3 Cc j M-5 Cc k. Toute touche autre que j ou k quitte cet état.
Attribuez un indice personnalisé à ce groupe de fonctions, afin que vous sachiez immédiatement après avoir appuyé sur Cc que vous pouvez poursuivre avec j ou k.
Je ne l'ai pas utilisé mais cela semble intéressant.
la source