Vim 为什么很少有模态编辑器不是';t vi*?
几乎所有其他不是vi后代的编辑器(vim、cream、vi-emu)似乎都使用emacs快捷键(ctrl+w删除一个单词等等)嗯。。。考虑到Vi/Vim几乎在任何地方都可用,而且整个模式都正确无误,因此可能不太需要它 我相信Eclipse有Vi绑定,也有一个Visual Studio插件/扩展(称为Vi Emu或其他什么)。早期的软件通常是模态的,但可用性在某个时候发生了转变,偏离了这种风格 基于VI的编辑器是一个谜——他们是该软件体系中唯一真正幸存的成员 模式在可用性和交互设计中是一个禁忌,因为我们人类是变化无常的哺乳动物,不能相信他们会记住应用程序处于什么模式 如果你认为自己处于一种“模式”,而实际上却处于另一种“模式”,那么各种各样的坏事都会接踵而至。你认为一系列无害的击键(在错误的模式下)会造成无限的灾难。这被称为“模式错误” 要了解更多信息,请搜索术语“无模式”(和“可用性”)Vim 为什么很少有模态编辑器不是';t vi*?,vim,editor,vi,Vim,Editor,Vi,几乎所有其他不是vi后代的编辑器(vim、cream、vi-emu)似乎都使用emacs快捷键(ctrl+w删除一个单词等等)嗯。。。考虑到Vi/Vim几乎在任何地方都可用,而且整个模式都正确无误,因此可能不太需要它 我相信Eclipse有Vi绑定,也有一个Visual Studio插件/扩展(称为Vi Emu或其他什么)。早期的软件通常是模态的,但可用性在某个时候发生了转变,偏离了这种风格 基于VI的编辑器是一个谜——他们是该软件体系中唯一真正幸存的成员 模式在可用性和交互设计中是一个禁忌,因
正如下面的评论中所提到的,一个经验丰富且不善变的人手中的模式界面可能非常有效。虽然没有真正回答你的问题,但以前手机上有一种“类似模式”的日语书写方式: 你点击的第一个字母是辅音,比如说K,然后,你点击的下一个键将扮演辅音的角色。(日语中不可能连续出现两个辅音) 虽然几年前它还是主流,但今天它只被那些真正想快速击球的人使用。@Leon:答案很好 @dbr:模式编辑需要一段时间才能习惯。如果您要构建一个新的编辑器来适应这个范例,您将如何改进VI/VIM/Emacs?我认为这在一定程度上是对这个问题的回答。要做到“正确”已经很难了,与VI/VIM/Emacs这样的编辑器竞争将是非常困难的——使用这些编辑器的大多数人都是“死硬”的粉丝,你必须给他们一个令人信服的理由,让他们转到另一个编辑器。那些还没有使用它们的人很可能会呆在一个非模态编辑器中。当然可以;) 我最近遇到了一组可供选择的密钥绑定。这是一种模式,部分理由与RSI有关——特别是避免了大量的手腕扭曲来点击Ctrl-Alt-Shift键。编码员对其他编码员进行了非正式调查,发现emacs用户比vi编码员遭受更多的手腕疼痛 你可以看到他正在做一件事。(视频是一系列5分钟的谈话,我记不起有多远了,对不起-如果有人看了并在这里发帖,我会编辑这篇文章,告诉大家视频中的内容)
注意,我没有使用divascheme。模态编辑器有巨大的优势,可以触摸打字员,这样你就可以在屏幕上导航,而不用把手从主行移开。我的手腕只会在我做需要我的手离开键盘、放在鼠标或箭头键上并不断向后移动的事情时才会疼。值得注意的是,vi输入模型的存活部分是由于POSIX标准采用了它,因此,在学习上投入时间意味着你可以保证在任何符合这些标准的系统上工作。所以,就像英语一样,无处不在的力量
就备选方案而言,我怀疑备选模型编辑能否在30天的免费试用期内生存下来,所以这与驾驶自动驾驶飞机的人比驾驶喷气式飞机的人多的原因是一样的 我认为这是因为vi(及其同类产品)已经占据了模态编辑器的生态位
喜欢modal但尚未被vi吸引的人数可能为0,因此假设的vi竞争对手必须非常强大,以使大量vi用户切换。这不太可能。切换编辑器的成本是巨大的,vi-s可能已经和模态编辑器一样好了。嗯,也许一个重大的突破可以改进它们,但我觉得这不太可能。我认为问题的答案是,实际上有相当多的模态文本编辑器不是vi/vim的分支。但是,它们都使用vi键绑定。Vi用户将密钥绑定放入肌肉内存,因此重新学习不同的密钥绑定集非常困难,因此没有人会创建不同的密钥绑定集
但是许多不同的编辑器从头开始重新实现了vi键绑定。你看。至少有一半的答案是从零开始构建的实现vi键绑定的编辑器,而不是嵌入vi的版本。VIM和emacs的用户界面设计意义与qwerty差不多。我们现在有可用的现代计算机优化关键布局(参见colemak布局和carpalx项目);有人对文本编辑器也这样做只是时间问题 该发明采用一种模式并将其移动到输入设备,上下文菜单采用另一种模式并将其移动到按钮。具有讽刺意味的是,触摸设备的出现产生了相反的效果,产生了界面:
- 感知多模态-触摸和语音相互感知并相交
- 不知道的多模态-触摸和讲话都不知道对方和冲突