可能我们都已经淡忘了Insert键的功能。在很多编辑器或者输入控件中,按下这个键可以在插入(Insert)和覆盖(Overwrite)模式之间切换。
随着编辑技术的发展,当修改一段文字的时候,我们倾向于插入+删除的习惯,而不是直接覆盖需要删除的文字。在文中输入文字的时候,我们也会习惯性的期望,后面的文字会随着输入而自动向后推移。
而覆盖模式则可能导致局面失控,我们必须很谨慎。因为当我们输入的时候,很多的注意力放在打字上面,这就可能无意中覆盖掉正确的文字。(中文的输入方式尤其加剧这种情况。)
很多编辑器或者输入框保留了对Insert键的支持。比如这个例子:
[图:处于覆盖模式的输入框]
我在输入Email的时候敲错了,xiesun.mail@gmail,com,输完后才发现把“点”写成了“逗号”。我把光标移了回去,准备删去“逗号”,重新输入“点”。
但是我在按Delete键删除时不幸碰到了Insert键,输入框静悄悄的切入覆盖模式。接下来输入框的行为自然出乎我的意料了。如你所见,输入变成gmail.om,然后又变成gmail.cm,然后我停下来了……
这里为什么要支持覆盖模式呢?不可否认,有时候覆盖模式会更快捷,但是大部分情况下,覆盖模式是被误操作无意切换进来的,然后会带来混乱。所以我们宁这个输入框可不支持覆盖模式。
为什么大部分情况是误操作呢?
第一:
对于这个输入框,覆盖模式在大部分情况下并不能带来便捷,用户主动切换进来的情况不多。
第二:
Delete键与Insert键相邻。如果你习惯使用右侧的数字键盘,会发现它们不仅相邻,而且Insert有Delete的两倍大。当手从字母区域”飞“过来的时候,定位不准是很正常的,在按下Delete的时候会碰到Insert。
[图:键盘布局]
看看这种键盘是不是很体贴?最常用的Delete键做的很大:
[图:很大的Delete键]
第三:
输入框没有模式的状态反馈,没有一点点迹象表明“目前已经进入覆盖模式”。直到用户输入以后才发现不对劲,但这时损失已经发生:有用的文字被覆盖了。而且我们可以确定,很多普通用户还不知道这是怎么回事。
UntraEdit和PSPad等软件在光标上面做了提醒,覆盖模式使用了很形象的大方块光标,很好:
[图:PSPad光标的覆盖模式提示]
Word的提示则不大明显,仅仅在下方的状态条中显示OVR,且灰色字体表示插入模式,黑色字体表示覆盖模式。聊胜于无:
[图:Word在状态条中的覆盖模式提示]
而对于最上面例子中的那个输入框,没有必要支持覆盖模式。