清歌输入法 @Igotit​ 开发的一款 Mac OS X 上的五笔输入法,非常和简洁实用。 百度输入法 也有自己的 Mac 版。但难忍的是:百度的词库非常臃肿,而且有 N 多无聊无意义的词组。 另外,Mac 版的五笔造词功能相当麻烦。 清歌输入法和百度输入法都有一个叫『中西文间自动加入空格』的功能。但二者的处理细节又有些不同。 本来在清歌输入法上线后,我一度把百度输入法禁用了,把清歌当作了默认输入法,但现在又反了。因为我觉得清歌输入法『空格』功能的处理逻辑很不好,会导致加入无意义的空格,或者空格没加上。 因此,本文主要是记录一下二者的处理细节,给清歌输入法作者提供一些思路。 举例说明: 在起始为中文的状态下输入:『ok这个iphone我喜欢OK』。 整个过程(我选择的是):

  1. 键入『ok』,回车 enter;
  2. 键入『ypwh』,继续;
  3. 键入『iph』,按 shift 切换到英文状态;
  4. 键入『one』,按 shift 切换到中文状态;
  5. 键入『我喜欢』,打开 cpas lock;
  6. 键入『OK』。结束。

百度下输出的是: 『ok 这个 iphone 我喜欢 OK』 清歌下输出的是: 『 ok 这个 iph one我喜欢OK』 相比百度的输出结果:

  1. 清歌的『ok』前多了一个空格;
  2. 『iphone』中间多了一个空格;
  3. 『OK』前面没有空格。

我更喜欢百度的处理方式,非常的自然、『智能』。 二者区别简述:

  • 在『键入1,enter/shift/caps上屏后,键入2』这一组的三个环节中:
  • 清歌的方案是:在『enter/shift/caps 上屏后』这个环节加空格,而且只在中文转英文后的时候。
  • 百度的方案是:在『键入2』这个环节时检查类型、判断、是否加空格。

二者区别详述:

  1. 键入『ok』后按回车上屏,清歌自动在『ok』的前后各自加了一个空格,而百度没有。
  2. 继续输入『这个』即『ypwh』并上屏后,百度自动在『ok』的后面——也就是『这个』的前面,加了空格,而清歌没有(因为它在第1步已经加了)。
  3. 键入『iph』按 shift 切换到英文状态,清歌又在『iph』 前后都加了空格,百度没有。
  4. 键入『one』,按 shift 切换到中文状态,清歌百度什么都没做;
  5. 键入『我喜欢』即「q空格fkcq空格」上屏后,百度在『iphone』后加入空格,清歌则没有。
  6. (打开 casp lock)键入『OK』, 百度自动在『我喜欢』后面加入空格,清歌则没有。

另外根据我个人喜好提出的建议:

  1. 可以选择开启时默认是 中文 or 英文状态;
  2. 默认标点符号自动补全,比如(,「,『 之类的;
  3. 中文状态下,单击引号,清歌是『‘/’』,百度是『「」』。我更喜欢百度的方式。
  4. 中文状态下,shift + 引号,清歌的是「或者」,百度的是『』(自动补全)。我更喜欢百度的方式。

相关链接: