Modele a edytory modalne

37

Właśnie zacząłem uczyć się Linuksa i całe moje wcześniejsze doświadczenia związane z programowaniem korzystałem z platformy Windows. Natknąłem się na edytor Vima i przeczytałem, że jest to edytor modalny w przeciwieństwie do notatnika, który jest określany jako edytor bez modeli.

Czy możesz wyjaśnić, jaka jest różnica między edytorami modalnymi a edytorami modalnymi?

Maniak
źródło

Odpowiedzi:

37

Normalny edytor „modelowy” przypomina Notatnik w systemie Windows: istnieje tylko jeden tryb, w którym wpisujesz tekst.

Vi i jego następca Vim są modalne: istnieją dwa podstawowe tryby 1 , tryb wstawiania, w którym wpisujesz tekst do edytora i jest on przypisywany do dokumentu, oraz tryb normalny, w którym wprowadzasz argumenty za pomocą klawiatury, które wykonują różne funkcje , w tym: przesuwanie kursora wokół dokumentu, wyszukiwanie i manipulowanie tekstem w dokumencie (na przykład wycinanie i wklejanie).

Artykuł w Wikipedii na temat Vi ma dobry wpis na temat interfejsu modalnego.

Główną atrakcją, pierwotnie konieczną we wczesnych dniach obliczeń uniksowych przed powszechnym przyjęciem myszy, jest edycja całkowicie za pomocą klawiatury. To podejście zostało obecnie szerzej przyjęte w Unix-land, na przykład w różnych przeglądarkach internetowych .

Ten niesamowity projekt, Vim Clutch , zapewnia przejrzystą wizualizację koncepcji przełączania trybów.


1. Istnieją również dwa inne tryby: tryb poleceń do wprowadzania poleceń tak jak w powłoce i tryb wizualny podczas wybierania tekstu do obsługi.

jasonwryan
źródło
3
Nie zapomnij o trybie wiersza poleceń i trybie wizualnym.
Bernhard
Słuszna uwaga. Trzymałem się podstawowych trybów dla uproszczenia, ale dodam je jako przypis.
jasonwryan
link „Vim Clutch” nie żyje
Rashi
@Rashi naprawiono ...
jasonwryan
4

W projektowaniu interfejsu użytkownika tryb jest odrębnym ustawieniem w programie komputerowym lub dowolnym fizycznym interfejsie maszyny, w którym te same dane wejściowe użytkownika dają postrzegane odmienne wyniki niż w innych ustawieniach. Najbardziej znanymi komponentami interfejsu modalnego są prawdopodobnie klawisze Caps Lock i Insert na standardowej klawiaturze komputera. Oba wprowadzają użytkownika w inny tryb po naciśnięciu, a następnie powracają do normalnego trybu po ponownym naciśnięciu.

Interfejs, który nie korzysta z żadnych trybów, jest znany jako interfejs bez modeli. [1] Modelowe interfejsy mają na celu uniknięcie błędów trybu [2], uniemożliwiając użytkownikowi ich popełnienie.

PRAMOD
źródło
4
Wygląda na to, że jest skopiowany z Wikipedii (chyba że PRAMOD napisałeś ten artykuł, nie wiem). Jeśli tak, to czy nie należy cytować tego artykułu?
Guildenstern
0

Różnica polega na tym, że w edytorze modalnym musisz jawnie przejść do jednego trybu, aby wprowadzić tekst. W tym trybie naciśnięcie klawisza dodaje znak tego klawisza do ekranu, na którym znajduje się kursor, zupełnie jak w maszynie do pisania. Następnie musisz jawnie przełączyć się z powrotem do innego trybu, aby wykonywać inne czynności, takie jak przesuwanie kursora, wyszukiwanie, zaznaczanie obszaru lub kopiowanie tekstu.

Niemodalny edytor zawsze pozwala wstawiać tekst i wymaga użycia klawisza modyfikującego, jeśli chcesz, aby klawisz robił coś innego niż wstawianie litery, na przykład przytrzymując klawisz Control i naciskając C, aby skopiować zaznaczony tekst.

Naprawdę nie różnią się tak bardzo, jeśli myślisz o przytrzymaniu klawisza modyfikującego jako w innym trybie. Rzeczywistą różnicą są wyraźne naciśnięcia klawiszy wymagane do przełączania trybów. W edytorze bez modeli możesz myśleć o klawiszu modyfikującym jako o przełączeniu do jednego trybu podczas jego naciskania, a następnie o przełączeniu z powrotem do innego trybu po zwolnieniu.

Ta część zaakceptowanej odpowiedzi jest całkowicie błędna:

Główną atrakcją, pierwotnie konieczną we wczesnych dniach obliczeń uniksowych przed powszechnym przyjęciem myszy, jest edycja całkowicie za pomocą klawiatury.

Edycja tylko za pomocą klawiatury działa dobrze bez jawnego przełączania trybu. Możesz przesuwać kursor i wybierać obszary tekstu za pomocą kombinacji klawiszy. Na przykład: Ctrl + A, aby przejść na początek linii, Ctrl + Spc, aby ustawić znak, a następnie Ctrl + E, aby przejść na koniec linii, wybierając w ten sposób całą linię.

Kevincasey
źródło