Editor non modali vs modali


37

Ho appena iniziato a studiare Linux e tutta la mia precedente esperienza di programmazione ha utilizzato la piattaforma Windows. Mi sono imbattuto nell'editor Vim e ho letto che si tratta di un editor modale a differenza del blocco note che viene definito come un editor non modale.

Puoi spiegare qual è la differenza tra editor modali e modali in generale?

Risposte:


37

Un normale editor "non modale" è come Blocco note su Windows: esiste solo una modalità, in cui si inserisce il testo.

Vi, ed è il suo successore Vim, sono modali: ci sono due modalità primarie 1 , inserire la modalità in cui si digita il testo nell'editor e si impegna nel documento, e la modalità normale cui si immettono argomenti tramite la tastiera che svolgono una varietà di funzioni , tra cui: spostare il cursore attorno al documento, cercare e manipolare il testo nel documento (ad esempio, tagliare e incollare).

L' articolo di Wikipedia su Vi ha una buona voce sull'interfaccia modale.

L'appello principale, originariamente una necessità nei primi tempi dell'elaborazione Unix prima della diffusa adozione del mouse, è l'editing completamente guidato da tastiera. Questo approccio è stato ora più ampiamente adottato in Unix-land, utilizzato ad esempio da una varietà di browser web .

Questo fantastico progetto, Vim Clutch , offre una chiara visualizzazione del concetto di passaggio da una modalità all'altra.


1. Ci sono anche altre due modalità, la modalità di comando per l'immissione dei comandi come in una shell e la modalità visiva quando si seleziona il testo su cui operare.


3
Non dimenticare la modalità riga di comando e la modalità visiva.
Bernhard

Buon punto. Mi sono attenuto alle modalità primarie per semplicità, ma le aggiungerò come nota a piè di pagina.
Jasonwryan,

il link "Vim Clutch" è morto
Rashi il

@Rashi fixed ...
jasonwryan,

4

Nella progettazione dell'interfaccia utente, una modalità è un'impostazione distinta all'interno di un programma per computer o di qualsiasi interfaccia fisica della macchina, in cui lo stesso input dell'utente produrrà risultati percepiti diversi rispetto a quelli che avrebbe in altre impostazioni. I componenti dell'interfaccia modale più noti sono probabilmente i tasti Bloc maiusc e Inserisci sulla tastiera del computer standard, entrambi i quali mettono la digitazione dell'utente in una modalità diversa dopo essere stata premuta, quindi riportarla alla modalità normale dopo essere stata nuovamente premuta.

Un'interfaccia che non utilizza alcuna modalità è nota come interfaccia non modale. [1] Le interfacce non modali intendono evitare errori di modalità [2] rendendo impossibile per l'utente commetterli.


4
Sembra che sia stato copiato da Wikipedia (a meno che tu non abbia scritto quell'articolo, non lo so). In tal caso, l'articolo non dovrebbe essere citato?
Guildenstern,

0

La differenza è che in un editor modale devi passare esplicitamente a una modalità per inserire il testo. In quella modalità premendo un tasto si aggiunge il carattere di quel tasto allo schermo in cui si trova il cursore, proprio come farebbe una macchina da scrivere. Quindi devi tornare esplicitamente a un'altra modalità per fare altre cose come spostare il cursore, cercare, selezionare un'area o copiare il testo.

Un editor non modale ti consente sempre di inserire del testo e ti richiede di usare un tasto modificatore se vuoi che un tasto faccia qualcosa di diverso dall'inserimento di una lettera, come tenere premuto Control e premere C per copiare il testo selezionato.

Non sono poi così diversi se pensi di tenere premuto un tasto modificatore in una modalità diversa. La vera differenza sono i tasti espliciti richiesti per cambiare modalità. In un editor non modale puoi pensare a un tasto modificatore come passare a una modalità mentre viene premuto e quindi tornare all'altra modalità quando viene rilasciato.

Questa parte della risposta accettata è totalmente sbagliata:

L'appello principale, originariamente una necessità nei primi tempi dell'elaborazione Unix prima della diffusa adozione del mouse, è l'editing completamente guidato da tastiera.

La modifica solo tastiera funziona bene senza cambiare esplicitamente la modalità. È possibile spostare il cursore e selezionare aree di testo con combinazioni di tasti. Ad esempio, Ctrl + A per spostarsi all'inizio di una riga, Ctrl + Spc per impostare un segno seguito, quindi Ctrl + E per spostarsi alla fine della riga selezionando così l'intera riga.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.