Editeurs modaux vs modaux

37

Je viens de commencer à apprendre Linux et toute mon expérience précédente de la programmation utilisait la plateforme Windows. Je suis tombé sur l'éditeur Vim et j'ai lu qu'il s'agissait d'un éditeur modal, à la différence du bloc-notes, appelé éditeur sans modèle.

Pouvez-vous s'il vous plaît expliquer quelle est la différence entre les éditeurs non modaux et modaux en général?

Geek
la source

Réponses:

37

Un éditeur normal, "sans modèle", ressemble à Notepad sous Windows: il n’existe qu’un seul mode, celui où vous saisissez du texte.

Vi, et son successeur, Vim, sont modaux: il existe deux modes principaux 1 : le mode insertion où vous tapez du texte dans l'éditeur et est validé dans le document, et le mode normal dans lequel vous entrez des arguments à l'aide du clavier qui remplissent diverses fonctions. , notamment: déplacer le curseur sur le document, rechercher et manipuler le texte du document (par exemple, couper et coller).

L' article de Wikipedia sur Vi a une bonne entrée sur l'interface modale.

Le principal attrait, qui était à l’origine une nécessité au début de l’informatique Unix avant l’adoption généralisée de la souris, est l’édition entièrement à l’aide du clavier. Cette approche a maintenant été plus largement adoptée sous Unix-Land, utilisée par exemple par divers navigateurs Web .

Ce formidable projet, Vim Clutch , fournit une visualisation claire du concept de commutation entre les modes.


1. Il existe également deux autres modes, le mode commande permettant de saisir des commandes comme vous le feriez dans un shell et le mode visuel lors de la sélection du texte à utiliser.

jasonwryan
la source
3
N'oubliez pas le mode ligne de commande et le mode visuel.
Bernhard
Bon point. Je suis resté fidèle aux modes primaires par souci de simplicité, mais je les ajouterai sous forme de note de bas de page.
jasonwryan
le lien "Vim Clutch" est mort
Rashi
@Rashi corrige ...
jasonwryan
4

Dans la conception d'interface utilisateur, un mode est un paramètre distinct au sein d'un programme d'ordinateur ou de toute interface machine physique, dans lequel la même entrée d'utilisateur produira des résultats perçus différents de ceux qu'elle aurait obtenus dans d'autres paramètres. Les composants d'interface modale les plus connus sont probablement les touches Verr Maj et Insérer du clavier d'ordinateur standard. Ces deux touches placent la saisie dans un mode différent après avoir été enfoncée, puis la replacent en mode normal après une nouvelle pression.

Une interface qui n'utilise aucun mode s'appelle une interface non modale. [1] Les interfaces sans modalité visent à éviter les erreurs de mode [2] en rendant impossible la validation par l'utilisateur.

PRAMOD
la source
4
Cela ressemble à une copie de Wikipédia (à moins que PRAMOD ait écrit cet article, je ne le sais pas). Si tel est le cas, cet article ne devrait-il pas être cité?
Guildenstern
0

La différence est que dans un éditeur de mode, vous devez explicitement passer à un mode pour saisir du texte. Dans ce mode, appuyer sur une touche ajoute le caractère de cette touche à l'écran où se trouve le curseur, comme le ferait une machine à écrire. Ensuite, vous devez revenir explicitement à un autre mode pour effectuer d'autres tâches, telles que déplacer le curseur, rechercher, sélectionner une zone ou copier du texte.

Un éditeur sans modèle vous permet toujours d'insérer du texte et vous oblige à utiliser une touche de modification si vous souhaitez qu'une touche fasse autre chose que d'insérer une lettre, telle que maintenir Ctrl enfoncé et appuyer sur C pour copier le texte sélectionné.

Ils ne sont vraiment pas si différents si vous pensez que maintenir une touche de modification est dans un mode différent. La vraie différence réside dans les touches de touches explicites requises pour changer de mode. Dans un éditeur sans modèle, vous pouvez penser à une touche de modification pour basculer vers un mode lorsque vous appuyez dessus, puis pour revenir à l'autre mode lorsqu'il est relâché.

Cette partie de la réponse acceptée est totalement fausse:

Le principal attrait, qui était à l’origine une nécessité au début de l’informatique Unix avant l’adoption généralisée de la souris, est l’édition entièrement à l’aide du clavier.

L'édition clavier uniquement fonctionne parfaitement sans commutation de mode explicite. Vous pouvez déplacer le curseur et sélectionner des zones de texte avec des combinaisons de touches. Par exemple, Ctrl + A pour aller au début d'une ligne, Ctrl + Spc pour définir un repère suivi, puis Ctrl + E pour aller à la fin de la ligne, sélectionnant ainsi la ligne entière.

Kevincasey
la source