Почему так мало модальных редакторов, не являющихся vi *?

Практически любой другой редактор, который не является потомком vi (vim, cream, vi-emu), похоже, использует ярлыки emacs ( ctrl+ wдля удаления слова и т. Д.)

Ответов (14)

Решение

Раннее программное обеспечение часто было модальным, но в какой-то момент юзабилити изменилось в сторону от этого стиля.

Редакторы на основе VI - полнейшая загадка - они единственные выжившие члены этого порядка программного обеспечения.

Режимы - это запрет на удобство использования и дизайн взаимодействия, потому что мы, люди, - непостоянные млекопитающие, которым нельзя доверять, чтобы помнить, в каком режиме находится приложение.

Если вы думаете, что находитесь в одном «режиме», тогда как на самом деле находитесь в другом, это может привести к всевозможным неприятностям. То, что вы считаете серией безобидных нажатий клавиш, может (в неправильном режиме) привести к неограниченной катастрофе. Это известно как «ошибка режима».

Чтобы узнать больше, выполните поиск по запросу "немодальный" (и "юзабилити").

Как упоминается в комментариях ниже, модальный интерфейс в руках опытного и непостоянного человека может быть чрезвычайно эффективным.

Изобретение мыши взяло один режим и переместило его на устройство ввода, а контекстные меню взяли другой режим и переместили его на кнопку. По иронии судьбы появление сенсорных устройств имело обратный эффект, создав мультимодальные интерфейсы:

  • осознающий мультимодальный - прикосновение и речь знают друг друга и пересекаются

  • не осознают мультимодальность - прикосновение и речь не осознают друг друга и конфликтуют

Традиционные интерфейсы WIMP исходят из того, что информация может поступать в систему и выходить из нее через единственный канал или поток событий. Этот поток событий может быть в форме ввода (мышь, клавиатура и т. Д.), Когда пользователь вводит данные в систему и ожидает обратной связи в виде выходных данных (голос, вибрация, визуализация и т. Д.), Когда система отвечает. Но канал сохраняет свою уникальность и может обрабатывать информацию по одному источнику за раз. Например, при сегодняшнем взаимодействии компьютер игнорирует вводимую информацию (с клавиатуры), когда кнопка мыши нажата.

Это очень сильно отличается от мультимодального взаимодействия, когда система имеет несколько потоков и каналов событий и может обрабатывать информацию, поступающую через различные режимы ввода, действуя параллельно, например, описанные выше. Например, в системе IVR пользователь может вводить текст или говорить для навигации по меню.

использованная литература

Помните, что Блокнот - это модальный редактор!

Чтобы убедиться в этом, попробуйте печатать E, D, I, T; Теперь попробуйте ввести Alt, E, D, I, T. Во втором случае клавиша Alt активирует «режим меню», поэтому результаты будут другими. : oP Люди вроде с этим справляются.

(Да, это функция Windows, а не Блокнота. Я думаю, что это плохая функция, потому что легко нажать Alt по ошибке, и я не думаю, что вы можете отключить ее.)

Поскольку этот вопрос уже идет вразрез с мантрой «никаких субъективных проблем», позвольте мне встретиться с этим лицом к лицу.

Немодальное редактирование в первую очередь направлено на решение проблемы, вызванной немодальным редактированием.

Проще говоря, с модальным редактированием я могу делать почти все, не отрывая рук от клавиатуры, и даже не мучая свой мизинец, дотягиваясь до элемента управления или прерывая размещение пальца, охотясь за клавишами со стрелками.

  1. Достижение мыши полностью прерывает ход мыслей. Я много лет ненавидел сильную зависимость от этого в Intellij IDEA и Netbeans. Даже с аддонами в стиле vim.

  2. Большая часть того, что вы делаете, связано с тонкой настройкой с очень небольшими приращениями и изменениями в одном и том же абзаце кода. Перемещение вверх, перемещение, изменение персонажа и т. Д. И т. Д. Эти действия прерываются с помощью управляющих клавиш, стрелок и мыши.

Я думаю, что ответ на вопрос заключается в том, что на самом деле существует довольно много модальных текстовых редакторов, которые не являются ветвями vi / vim. Однако все они используют привязки клавиш vi . Пользователи Vi сохраняют привязки клавиш в своей мышечной памяти, поэтому переучить другой набор привязок клавиш будет очень сложно, поэтому никто не будет создавать другой набор привязок клавиш.

Но множество разных редакторов заново реализовали привязки клавиш vi с нуля. Просто взгляните на этот вопрос об IDE с привязкой клавиш vi . По крайней мере, половина ответов - это редакторы, созданные с нуля, которые реализуют привязку клавиш vi, а не версии встроенного vi.

Я считаю, что Eclipse имеет привязки Vi, а также есть плагин / расширение Visual Studio (которое называется Vi-Emu или что-то в этом роде).

Хотя на самом деле не отвечая на ваш вопрос, раньше существовал «модальный» способ написания японского на сотовых телефонах: первая буква, которую вы нажимаете, была согласным, скажем K, а затем, а затем следующая клавиша, которую вы нажмете, будет иметь роль согласного. (На японском невозможно поставить две согласные подряд)

Хотя несколько лет назад он был основным, сегодня он используется только людьми, которые действительно хотят быстро ударить.

Гм ... может быть, в нем нет особой необходимости, учитывая, что Vi / Vim в значительной степени доступен повсюду и правильно понял всю модальную вещь? :)

@Leon: Отличный ответ.

@dbr: Модальное редактирование - это то, к чему нужно время, чтобы привыкнуть. Если бы вам пришлось создать новый редактор, соответствующий этой парадигме, как бы вы улучшили VI / VIM / Emacs? Я думаю, что это отчасти ответ на вопрос. Сделать это «правильно» достаточно сложно, соревноваться с подобными VI / VIM / Emacs будет чрезвычайно сложно - большинство людей, которые используют эти редакторы, являются «твердолобыми» фанатами, и вам придется дать им веские основания для этого. перейти в другой редактор. Те люди, которые их еще не используют, скорее всего, останутся в немодальном редакторе. ИМХО конечно;)

Недавно я наткнулся на divascheme - альтернативный набор привязок клавиш для DrScheme . Это модально, и отчасти оправдание связано с RSI - в частности, избегание большого количества скручиваний запястья для удара Ctrl- Alt- Shift- something. Кодер провел неформальный опрос коллег-программистов и обнаружил, что пользователи emacs страдают от большей боли в запястье, чем программисты vi.

Вы можете увидеть, как он делает короткий доклад на LugRadio Live USA . (Видео представляет собой серию 5-минутных разговоров, и я не могу вспомнить, как далеко он прошел, извините - если кто-то его посмотрит и разместит здесь, я отредактирую этот пост, чтобы сказать, когда это на видео).

Обратите внимание, я не использовал divascheme.

У модальных редакторов есть огромное преимущество для машинисток с сенсорным экраном: вы можете перемещаться по экрану, не отрывая рук от домашнего ряда. Мои запястья болят только тогда, когда я делаю что-то, что требует от меня постоянно убирать руку с клавиатуры на мышь или клавиши со стрелками и обратно.

Стоит отметить, что выживаемость моделей ввода vi отчасти объясняется их принятием в стандарте POSIX, поэтому инвестирование времени в обучение будет означать, что вы гарантированно сможете работать с любой системой, соответствующей этим стандартам. Так что, как и в английском, сила в повсеместном использовании.

Что касается альтернатив, я сомневаюсь, что альтернативный редактор моделей переживет 30-дневный бесплатный пробный период, поэтому по той же причине больше людей водят автоматику, чем летающие самолеты.

Я думаю, это потому, что vi (и ему подобные) уже занимает экологическую нишу модальных редакторов.

Число людей, которые предпочитают модальный интерфейс и еще не заинтересовались vi, вероятно, равно 0, поэтому гипотетический конкурент vi должен быть настолько велик, чтобы заставить переключиться значительное количество пользователей vi. Это маловероятно. Стоимость смены редактора огромна, и vi-s, вероятно, уже не хуже модальных редакторов. Что ж, возможно, значительный прорыв мог бы улучшить их, но я считаю это маловероятным.

VIM и emacs имеют такой же смысл в дизайне пользовательского интерфейса, как и qwerty. Теперь у нас есть современные оптимизированные для компьютера раскладки клавиш (см. Раскладку colemak и проект carpalx); Это только вопрос времени, когда кто-то сделает то же самое с текстовыми редакторами.