Google 拼音词库转 Vimim 词库脚本

我写了一个将 Google 拼音输入法词库转换为 Vimim 词库的脚本,贴在这里,希望对大家有用。

#!/bin/bash
iconv -f gbk -t utf-8 "$@" | sed -e 's/ //g;s/^M$//g' | awk 'NR==1 {a=$3; printf "%s %s",$3,$1; next; }{ if($3==a) printf " %s",$1;else printf "n%s %s",$3,$1; a=$3;}' | sort  -d

(注意:上面那个 ^M 在 vim 中的输入方法是 Ctrl+vm。)

使用方法:
1. 在 Google 拼音输入法“属性设置->词典”选项页,将 Google 输入法词库导出为 .dic 文件,例如 google.dic。
2. 将 google.dic 拷贝到 Linux 中,或者使用 Cygwin,进入到包含 google.dic 的目录。
3. 下载本邮件附件 google2vimim,给它增加可执行权限 chmod u+x google2vimim。
4. ./google2vimim google.dic > vimim.pinyin.txt,得到的 vimim.pinyin.txt 就是符合 Vimim 规范的词库。

PS: 是的,我忘记了 r 的作用,所以上面脚本可以完全替换为:

#!/bin/bash
iconv -f gbk -t utf-8 "$@" | sed -e 's/ //g;s/r$//g' | awk 'NR==1 {a=$3; printf "%s %s",$3,$1; next; }{ if($3==a) printf " %s",$1;else printf "n%s %s",$3,$1; a=$3;}' | sort  -d

脚本的最新版本下载地址可以是:http://share.solrex.org/scripts/google2vimim

Ibus 输入法

Ibus 输入法

由于种种历史遗留问题,本人惯用的汉字输入习惯和大多数人不一样:双拼输入法,并且是智能 ABC 风格的。这也就决定了我选择输入法的时候首先看它是不是支持我习惯的风格。以前 Google 推出中文输入法的时候,我的反应就很慢,因为不确定它是否支持双拼,后来发现它对智能 ABC 风格的双拼支持的很好,我在 Win 下的输入法就换成了 Google 的。

听说 Linux 下的 Ibus 输入法已经很久了,也是因为同样的原因没去尝试。搜索 “Ibus 双拼”,往往得不到有用的信息。今天在 Ubuntu 中文社区看到一张,发现已经有双拼支持,才让我下定决心尝试一下。

Ibus 已经被打包到了 ubuntu-cn 的源里(注意,不是 ubuntu),可以直接 apt-get install ibus-pinyin。由于我的 locale 是 en_US.UTF-8,所以 im-switch 不好用,只好将输入法选择写到 ~/.profile 里:

XIM=ibus
XIM_PROGRAM=/usr/bin/ibus
XIM_ARGS=""
GTK_IM_MODULE=ibus
QT_IM_MODULE=ibus
DEPENDS="ibus"

然后 re-login。网上有各种配置方法,其实我也不知道该怎么写才对,但输入法的启动不就是 X 启动时运行一个脚本嘛,从 /etc/X11/xinit/xinput.d/ibus 拷贝出来的东西总该没错。

第一次启动输入法需要选择 engine,这一点要比 scim 好,scim 默认就把乱七八糟的 engine 都给你配置上,还需要一个个去删除。然后再找配置双拼的地方,开始怎么也找不到,为什么不在 preferences 里呀?最后才想起来去看看那个输入法的语言条,才发现和 Google 拼音一样,启动配置在语言条的最后一个图标。

然后就开始码字,使用感觉是相当的爽的,界面比 scim 好看,用户词库的记忆效果貌似也比 scim 好。而且 scim 在处理双拼时候一直有一个问题:只显示键字母而不显示拼音。就比如“将”这个字用 ABC 双拼打是“jt”,在 scim 里拼音栏只会显示“jt”,而不是把“t”转换成“iang”,ibus 就没有这个问题。

目前来讲,ibus 最大的问题是反应有一点点慢,当打字速度快的时候,可能最后一个键没有记录上就把前面的输出了。比如打“将”时,jt空格,如果空格敲得太快,可能出现的是“就t”,大概也跟我使用的机器比较慢有点儿关系。这篇文章就是用 ibus 敲的,速度还可以忍受。

我把 scim 给删掉了,准备使用 ibus 一段时间,看看它是不是会引起一些程序的工作不正常。对 scim 引起的 KDE 程序崩溃和输入法不可用的毛病我已经容忍很久了,早就祈祷着到 Google 工作的 suzhe 能够继 scim 之后推出 Google 拼音的 Linux 版,目前看来 ibus 大概可以满足一下我的大部分需求。