Editores modais versus modais

37

Comecei a aprender Linux e toda a minha experiência anterior em programação tem usado a plataforma Windows. Me deparei com o editor Vim e li que é um editor modal, diferente do bloco de notas, que é denominado como editor sem modelo.

Você pode, por favor, explicar qual é a diferença entre editores sem modelo e modais em geral?

Nerd
fonte

Respostas:

37

Um editor normal "sem modelo" é como o Bloco de Notas no Windows: existe apenas um modo, no qual você insere texto.

O Vi, e seu sucessor Vim, são modais: existem dois modos principais 1 , modo de inserção em que você digita texto no editor e ele é comprometido com o documento e modo normal em que você insere argumentos através do teclado que executam uma variedade de funções , incluindo: mover o cursor pelo documento, pesquisar e manipular o texto no documento (por exemplo, recortar e colar).

O artigo da Wikipedia sobre Vi tem uma boa entrada na interface modal.

O apelo principal, originalmente uma necessidade nos primeiros dias da computação em Unix antes da ampla adoção do mouse, é a edição totalmente orientada por teclado. Essa abordagem agora foi adotada mais amplamente no Unix-land, sendo usada, por exemplo, por uma variedade de navegadores da web .

Este projeto incrível, Vim Clutch , fornece uma visualização clara do conceito de alternância entre modos.


1. Existem também dois outros modos, o modo de comando para inserir comandos como faria em um shell e o modo visual ao selecionar o texto para operar.

jasonwryan
fonte
3
Não esqueça o modo de linha de comando e o modo visual.
Bernhard
Bom ponto. Eu permaneci nos modos primários por uma questão de simplicidade, mas os adicionarei como nota de rodapé.
jasonwryan
o link "Vim Clutch" está morto
Rashi
@Rashi fixed ...
jasonwryan
4

No design da interface do usuário, um modo é uma configuração distinta dentro de um programa de computador ou de qualquer interface física da máquina, na qual a mesma entrada do usuário produzirá resultados diferentes percebidos do que em outras configurações. Os componentes de interface modal mais conhecidos são provavelmente as teclas Caps lock e Insert no teclado padrão do computador, os quais colocam a digitação do usuário em um modo diferente após serem pressionados e, em seguida, retornam ao modo normal após serem pressionados novamente.

Uma interface que não usa modos é conhecida como interface sem modelo. [1] Interfaces sem modelo pretendem evitar erros de modo [2], impossibilitando o usuário de cometer esses erros.

PRAMOD
fonte
4
Parece que ele foi copiado da Wikipedia (a menos que você PRAMOD tenha escrito esse artigo, eu não sei). Nesse caso, esse artigo não deveria ser citado?
precisa
0

A diferença é que, em um editor modal, é necessário alternar explicitamente para um modo para inserir texto. Nesse modo, pressionar uma tecla adiciona o caractere dessa tecla à tela onde está o cursor, exatamente como faria uma máquina de escrever. Depois, você deve voltar explicitamente para outro modo para fazer outras coisas, como mover o cursor, pesquisar, selecionar uma área ou copiar texto.

Um editor sem modelo sempre permite inserir texto e exige que você use uma tecla modificadora se desejar que uma tecla faça algo diferente de inserir uma letra, como segurar Control e pressionar C para copiar o texto selecionado.

Eles realmente não são tão diferentes se você pensar em segurar uma tecla modificadora como estando em um modo diferente. A diferença real são as teclas explícitas necessárias para alternar os modos. Em um editor sem modelo, você pode pensar em uma tecla modificadora como alternar para um modo enquanto estiver sendo pressionada e, em seguida, voltar para o outro modo quando for liberada.

Esta parte da resposta aceita está totalmente errada:

O apelo principal, originalmente uma necessidade nos primeiros dias da computação em Unix antes da ampla adoção do mouse, é a edição totalmente orientada por teclado.

A edição somente por teclado funciona bem sem a troca explícita de modo. Você pode mover o cursor e selecionar áreas de texto com combinações de teclas. Por exemplo, Ctrl + A para ir para o início de uma linha, Ctrl + Spc para definir uma marca seguida e, em seguida, Ctrl + E para ir para o final da linha, selecionando a linha inteira.

kevincasey
fonte