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

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


person dbr    schedule 18.08.2008    source источник
comment
Эм. В стандартных сочетаниях клавиш emacs C-w уничтожает область между точкой и меткой.   -  person Svante    schedule 17.12.2008


Ответы (14)


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

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

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

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

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

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

person Leon Bambrick    schedule 18.08.2008
comment
Хотя в вашем ответе хорошо обсуждаются недостатки модальных интерфейсов для новых пользователей, в нем не рассматривается значительное повышение эффективности, которое модальный интерфейс предлагает опытным пользователям. Возможно, вы могли бы отредактировать свой ответ, чтобы учесть и преимущества? - person Hudson; 16.12.2008
comment
+1 за непостоянных млекопитающих - делает дизайн пользовательского интерфейса интересным опытом :) - person bedwyr; 26.04.2010
comment
Иногда самый очевидный интерфейс для новичка не самый лучший... Некоторые действительно хорошие вещи требуют небольших вложений! - person AnthonyLambert; 30.04.2010
comment
Иногда предполагаемый прирост производительности от инвестиций является предлогом, сделанным задним числом, чтобы оправдать потраченное на инвестиции время. Я знаю и использую vi/m. Я знаю и использую несколько других редакторов (но не EMACS). Я никогда не видел заметного повышения производительности ни от одного из них, независимо от того, сколько времени или усилий я вложил в них, в основном потому, что когда я делаю программное обеспечение, правильный набор текста не является моей основной деятельностью. Мышление есть. - person JUST MY correct OPINION; 04.06.2010
comment
Для справки, мой почтовый клиент (mutt), мой веб-браузер (uzbl) и моя интерактивная оболочка (bash) работают в модальном режиме. Режимы могут быть опасны, если вы забудете, в каком режиме вы находитесь, но очень малое, как правило, не может быть легко восстановлено. Кроме того, модальное взаимодействие, хотя и нелогичное, упрощает использование очень мощных команд. Я примерно того же возраста, что и Вим, и до сих пор считаю модальное взаимодействие единственным способом получить реальную власть над клавиатурой. - person rahmu; 31.01.2012
comment
Кстати, я впервые слышу об узбл. Что это значит, решать вам. И режимы mutt не являются режимами в смысле vi/m (руководство также не называет их режимами), это представления. Итак, это дает ОЧЕНЬ четкое указание, в каком режиме вы находитесь. И, наконец, о каких режимах bash вы говорите? Bash поддерживает редактирование vi, вы это имеете в виду? Если да, то сколько людей, которые не являются ярыми пользователями vi, используют эти сочетания клавиш? - person Jürgen A. Erhard; 14.09.2016
comment
@Hudson: разве ты не имел в виду, пока твой ответ отвечает на вопрос, и, таким образом, вообще ничего не хотел сказать? 27 голосов... от поклонников vi? (Этот пользователь Emacs готов к любой старой священной войне ;-)) - person Jürgen A. Erhard; 14.09.2016
comment
Помимо дополнения, этот ответ не касается популярности Ви. Кому какое дело до того, что говорят эксперты по юзабилити, когда они явно не исследуют специфическую нишу пользователей модальных редакторов (Vi, Emacs+Evil и т. д.)? Хакеры могли бы сделать Vi-подобные (но не клоны) на протяжении многих лет. Почему нет (видимо)? Такие редакторы, как Вис и Какунэ, кажутся недавним явлением. - person Guildenstern; 13.02.2019
comment
@Guildenstern Вопрос не об этом. - person user4052054; 11.03.2019
comment
Я чувствую, что этот ответ очень близок к тому, чтобы коснуться чего-то, что может быть действительно важным фактором: разные проблемные области имеют совершенно разные риски ошибки режима - последствия ошибки режима в чем-то вроде vim почти всегда обратимы, нажав много раз; последствия ошибки режима в плохо спроектированном редакторе изображений, видео или 3D-моделей могут легко привести к зависанию компьютера из-за интенсивной обработки на несколько минут и снести все пространство, отведенное в истории отмен. - person mtraceur; 30.06.2019
comment
Что более важно для ответа на сам вопрос: я думаю, что этот ответ мог бы быть лучше, если бы привлек внимание к тому, как может быть так мало модальных редакторов, потому что vim в основном достаточно хорошо заполняет эту нишу: время от времени предпринимаются альтернативные попытки, и в последнее время neovim пришел к решению основные проблемы с vim в этой нише, но vim был достаточно гибким, чтобы большинство модальных редакторов хотели и нуждались в нем, настроив и расширив его. Кроме того, к предпосылке вопроса: почти каждый достаточно гибкий редактор поставляется с плагином для более модального, vi-подобного UX. - person mtraceur; 30.06.2019
comment
@JUSTMYcorrectOPINION Я согласен. Модальное редактирование не способствует повышению производительности, но оно, безусловно, намного веселее и заставляет меня достаточно воодушевиться, чтобы начать печатать даже в плохой день кодирования. Немодальная типизация меня сейчас просто огорчает, хотя я, вероятно, немного быстрее с немодальной типизацией. - person jdk1.0; 07.01.2021

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

person Rytmis    schedule 18.08.2008
comment
Вис, Какунэ и Emacs+Evil, кажется, доказали, что этот ответ неверен. - person Guildenstern; 13.02.2019
comment
Возможно, вещи, имитирующие vi, на самом деле не являются новыми модальными редакторами, но Какунэ, похоже, имеет значение. :) - person Rytmis; 14.02.2019
comment
Вис не имитирует Вай (он вдохновлен Ви и Сэмом). Emacs+Evil — это эмуляция Emacs плюс Vim, поэтому редактор Vi(m) не более, чем Spacevim — редактор Emacs (Spacemacs). - person Guildenstern; 15.02.2019
comment
Часть, в которой вы оказались неправы, заключалась в том, что не было необходимости в новых модальных редакторах. - person Guildenstern; 15.02.2019
comment
Конечно, да — на самом деле, говорить, что в этом пространстве нет необходимости в чем-то новом, глупо независимо от контекста. - person Rytmis; 16.02.2019
comment
Но в каком-то смысле этот ответ уместен — не потому, что ничего нового в этом пространстве не нужно, а потому, что долгое время все, что уже существовало (vim и немодальные, но достаточно расширяемые редакторы типа emacs), было достаточно гибкий , чтобы новый материал в значительной степени создавался поверх него, что вызывало низкий спрос и избирательное давление на создание совершенно новых модальных редакторов. - person mtraceur; 30.06.2019

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

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

person Rafał Dowgird    schedule 11.02.2009
comment
Очень верно, тем более, что вы можете перезаписать любую часть стандартных сочетаний клавиш, которые вам не нравятся в вашем .vimrc. - person Xiong Chiamiov; 30.04.2010
comment
Думаю, значительный прорыв будет неизбежен в мире, наполненном мультитач-устройствами. Возможность отображать контекстные подсказки непосредственно на клавишах значительно снижает кривую обучения модальным интерфейсам. - person Andrew Wagner; 23.08.2010
comment
Полностью согласен с 1-й фразой. Это, по сути, отвечает на вопрос. А вот с остальным у меня нет. Я хотел бы использовать модальный редактор, но ненавижу КАЖДОЕ важное дизайнерское решение по удобству использования в vim. Навигация в обычном режиме против визуального режима? Привязка ключей? Чрезвычайно ограниченные возможности переназначения (для совместимости с abac?)? Сильной стороной Vim является его экосистема плагинов, но vimscript... - person Slava; 13.02.2017
comment
Это просто сводится к следующему: поскольку Vi уже фантастичен, переключение обходится дорого, и «маловероятно» (необоснованно, но хорошо), что другой модальный редактор сможет их улучшить. Или, другими словами: «Ви действительно великолепен. Это лучший ответ, который я могу дать». - person Guildenstern; 13.02.2019
comment
Проблема в том, что vi и все варианты, которые я когда-либо пробовал, работают медленно с включенным любым приличным синтаксисом/автозаполнением. На дворе 21 век, а они до сих пор не придумали, как выводить текст со скоростью 60 кадров в секунду? Это довольно удручающе. Если мы абстрагируем концепцию vi от ее старого грубого движка, что-то вроде 4coder может стать заменой привязок клавиш vi. Он работает быстро, но на первый взгляд может совпадать с данными vi. - person jdk1.0; 07.01.2021

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

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

person OJ.    schedule 18.08.2008
comment
Чтобы привлечь новых пользователей, нужно сделать так, чтобы они были нацелены на определенную нишу, например дивасхему, о которой я упоминаю в своем ответе. Сделай это проще. Тем не менее, я очень доволен vim. - person Hamish Downer; 17.12.2008
comment
«Если бы вам нужно было создать новый редактор, соответствующий этой парадигме, как бы вы улучшили VI/VIM/Emacs?» — например, Какунэ. Действительно ли оригинальный Vi был таким гениальным ходом? Билли Джой, похоже, так не думал. - person Guildenstern; 13.02.2019

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

person Paul Tomblin    schedule 16.12.2008

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

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

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

person Ben C    schedule 04.07.2014
comment
Интересно, Quasimodes (что указывает на то, что в Windows есть режим StickyKeys, который переключает это в правильную модальную систему!) - person dbr; 04.07.2014
comment
Точно так же вы можете утверждать, что каждый редактор, который может делать выбор, является модальным. Более того, я бы сказал, что выбор чего-либо (возможно, с помощью какой-либо комбинации клавиш из режима вставки) - лучший способ переключиться в режим выбора. - person Slava; 13.02.2017
comment
@Слава Да! Если вы выделите блок, то ввод текста, Ctrl-C (копирование), Delete и клавиши со стрелками изменят поведение. (На самом деле редактор может предоставлять ту же функциональность немодально, хотя, вероятно, менее удобно и интуитивно понятно, чем через выделенные блоки. В vi вы можете установить метку (ma), затем переместиться в другую позицию и удалить (d`a), изменить (c`a ) или скопируйте (y`a) текст между этой позицией и меткой.) - person Ben C; 14.02.2017
comment
+1 Чтобы подчеркнуть это еще больше: что-то немодальное, такое как emacs, внезапно кажется чрезвычайно модальным, когда у вас есть липкие и фиксирующие клавиши-модификаторы: Ctrl Ctrl (переключатель режима) x c (команда). И когда я использую zsh, я либо широко использую встроенный командный режим vi (при использовании через обычную компьютерную клавиатуру), либо остаюсь почти полностью в режиме вставки со всеми модальными преимуществами закрепляющих модификаторов-фиксаторов (при использовании его через клавиатуру). телефон с хорошо настроенной клавиатурой). Между этими модальными и якобы немодальными интерфейсами существует симметрия, иногда даже функциональная эквивалентность. - person mtraceur; 30.06.2019

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

person Andrew Wagner    schedule 04.06.2010
comment
Чтобы уточнить, мне нравится набор команд vim. Одна только сила команд приводит к огромному сокращению количества нажатий кнопок, но я чувствую, что расположение клавиш было обусловлено мнемоникой и обратной совместимостью, а не эргономикой. Возможно, это всего лишь теория информации в действии; чем более эффективными становятся команды, тем более случайным образом они расположены. - person Andrew Wagner; 01.10.2010

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

person Peter Stuifzand    schedule 18.08.2008

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

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

person Community    schedule 16.12.2008
comment
+1. Единственная причина, по которой я изучил vi, заключалась в том, что он гарантированно будет работать в любой Unix-подобной системе. Другие редакторы не очень. - person JUST MY correct OPINION; 04.06.2010

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

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

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

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

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

person alife    schedule 01.08.2019
comment
Хотя у меня нет проблем с субъективностью ответа, это все же не ответ на вопрос ОП. - person cigien; 01.05.2020

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

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

person fulmicoton    schedule 18.08.2008

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

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

person Hamish Downer    schedule 25.04.2010
comment
Мммм. Вы заметите, что даже вещи, которые не являются редакторами, иногда имеют сочетания клавиш, подобные vi (на ум приходят Gmail и Google Reader). - person Xiong Chiamiov; 30.04.2010
comment
Kakoune не использует привязки клавиш vi. - person phuclv; 27.05.2017
comment
Представьте программистов инструменталистами. «Не-а, я не умею играть на пианино, я уже натренировал свои мышцы, чтобы играть на гитаре!» - person Guildenstern; 13.02.2019

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

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

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

person Hamish Downer    schedule 27.08.2008

Изобретение мыши взяло один режим и переместило его в устройство ввода, а контекстные меню взяли другой режим и перенесли его на кнопку. По иронии судьбы, появление сенсорных устройств имело обратный эффект, создав -big-thing" rel="nofollow noreferrer">мультимодальные интерфейсы:

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

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

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

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

Ссылки

person Paul Sweatte    schedule 13.08.2013