gol*_*cks 12
考虑主要的两种模式,COMMAND 和 INSERT,演示了模式界面的目的。
在 INSERT 模式下,您可以正常键入,将文本插入到文档中。您可以绑定键来执行特殊功能,尽管这些通常在复杂性上受到限制。
命令模式有点像一个无限的特殊功能。可以使用 来实现类似的东西Ctrl,这样你就可以按住它并按下其他一些特殊键,实际上大多数通用编辑器都是这样工作的:你使用 ctrl-x 来剪切,ctrl-p 来粘贴等等。但是,这种方法限制了你的能力;按住 ctrl 并输入“open myfile.txt”会有点痛苦。
GUI 编辑器和一些 TUI 编辑器通常使用下拉菜单来解决这个问题。然而,这仍然是有限的:如果您有很多功能,您最终需要笨拙的级联嵌套菜单集。
vi
,它vim
基于(并复制其功能)不使用下拉菜单,尽管因为它是基于屏幕的,所以它可能有。对此的一种解释是,它旨在作为标准化实用程序的标准化扩展ed
,它是基于行的,因此不能使用可视菜单。一些基本的 vi 命令模式命令源自ed
-- -- 而不是用菜单选项替换命令,基于相同文本的ed
命令在 vi 中工作(并对其进行了扩展)。
这当然是有好处的,这可能是它vim
历史悠久的重要原因。菜单要求您滚动选项集,而 TUI 界面没有鼠标,这可能需要特殊模式才能访问,或使用 F 键等。可以说它们在 GUI 应用程序中更加尴尬需要将手从键盘上移开并操作鼠标,然后有上一段提到的复杂性限制。1 vim
对模态界面的选择不会遇到这些问题。它还最大化了可用的屏幕区域。
可以观察到,由于简单、非模态、菜单和 ctrl 驱动的界面,许多大型、复杂的图形应用程序(例如集成开发环境 (IDE) 和文字处理器)的编辑方面与 vim 相比是有缺陷的。这样考虑,vim 使用模式的原因是使其成为一个更强大的工具。
1、虽然gvim
确实有复制很多常用命令的下拉菜单,但相比COMMAND模式显得笨拙;菜单系统的唯一优点是易于学习。 您不必记住很多事情,但完成所有事情需要更长的时间。