上QQ阅读APP看书,第一时间看更新
1.2 开始对话(关于模式界面)
如果读者曾经编辑过文本,很可能已经非常熟悉无模式(modeless)界面了,因为这是现代主流文本编辑器的默认选项,大多数人也是通过它来学习文本处理的。“无模式”指的是每个界面元素都只有一个功能,每个按钮都对应于屏幕上的一个字母或某种其他操作,每个按键(或组合键)总是做同样的事:此应用程序总是以单一模式来执行操作。
但这并不是文本处理的唯一方式。那么现在,欢迎来到模式界面的世界。在这里,根据上下文的不同,每个行为可能对应于不同的操作。现在常见的模式界面应用设备为智能手机,每当打开一个不同的应用或菜单时,在屏幕上单击一下就会执行不同的功能。
对于文本编辑器,情况类似。Vim就是一款模式编辑器,即在不同的上下文,单击一个按钮会产生不同的行为结果。当Vim处于插入模式(用于文本输入的模式)时,单击o键会在屏幕上得到o。但当切换到不同的模式时,按o键的行为会发生变化,比如在光标下面添加新行。
使用Vim就像是与编辑器进行对话。通过命令d3w[刚好是删除(delete)3个单词(word)的英文缩写]可以删除后面3个词;通过命令ci"[改变(change)引号里面(inside)的英文缩写]则可以改变引号里面的文本。
编辑速度快并不是Vim的卖点。Vim让用户置身于文本处理的流程中,不需要因为找鼠标而打乱节奏;也不需要按17次方向键到达页面中的某个位置;更不需要在复制粘贴时通过鼠标操作来小心翼翼地选择文本。
当使用无模式编辑器时,工作流程总是会被打断。而对于模式编辑器,特别是Vim,文本处理就像是与编辑器进行了一次亲密交谈,而且是用一种一致的语言与编辑器进行交流,比如删除3个单词(命令为d3w)、改变引号内文本(命令为ci")。通过Vim,文本编辑变成一种更从容的操作。