Skip to content

Chopong/fcitx-dict

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

中文输入法词库

在Linux系统环境下, 使用fcitx框架下的输入法, 进行安装词库, 优化输入体验

背景

在Linux系统上进行中文输入不像在Windows那样简单, 之前已经推过一篇博文说明如何在Linux下进行 中文输入, 但是输入体验和Windows下的还是有差距.

目前, 搜狗输入法Deepin合作已经开发了Linux版本, 有需要的朋友可以直接去搜狗官网进行下载. 但是对我来说, 每次重启后搜狗输入法总是改变我的输入法设置, 导致我的一些软件不能按我想的方式进行中文输入, 比如在emacs上输入会吃字, 即从英文切换到中文输入法时, 第一个字母仍然是英文字母, 每次都要删掉, 非常麻烦, 所以我就想怎么才能避免这个问题呢? 使用fcitx框架下的其他输入法, 配合搜狗输入法的词库, 无疑是最佳搭配, 所以才有这篇博文.

在fcitx框架下, 很多输入法都可以搭配个人的词库, 本博文也时按照这个思路进行简单总结:

  • sunpinyin + userdict (优点: 最简单, 无须转换)
  • pinyin + 下载词库 (直接下载网上词库, 需要转换, 缺点: 体积大)
  • pinyin + 自定义词库 (从搜狗官网下载, 可自定义输入的词库, 需要两次转换)

具体方法

1. sunpinyin + userdict

1). 下载sunpinyin-userdict.7z 完整版词库地址;

2). 解压后得到userdict文件, 将其移动到 ~/.sunpinyin/

3). 覆盖原来的文件就行, 若看不见目录, C-h 即能看见.

4). 注销重新登录.

2. pinyin + 下载词库

fcitx-pinyin 也可以安装词库, 不过不能直接使用, 需要进行转换, 按照之前的薄荷开源网的一篇帖子, fcitx-pinyin使用词库需要下载sg2fcitx转换工具sg2fcitx, 但实际上这里面的createPYMB已经集成到了fcitx-tools中, 可以直接使用安装包管理工具进行安装, 然后直接调用即可, 比如:

    sudo apt install fcitx-tools

1). [二选一]下载/安装 转换工具

2). 下载别人制作好的词库, 比如fcitx-sougou-phrase-full

3). 使用createPYMB进行转换

  • 使用fcitx-tools
    cd ~/Downloads/fcitx-sougou-phrase-full
    createPYMB gbkpy.org pyPhrase.org
  • 或者使用下载的文件sg2fcitx 把解压后的createPYMBsg2fcitx复制到刚才下载, 等待转换的词库文件夹fcitx-sougou-phrase-full
   ./createPYMB gbkpy.org pyPhrase.org

4). 转换大概需要几分钟, 即可生成pybase.mbpyphrase.mb两个词库文件, 加上pyPhrase.org, 把这三个文件都复制到 /usr/share/fcitx/data或者/usr/share/fcitx/pinyin下.

5). 注销系统, 重新登录后即可使用.

3. pinyin + 自定义词库

第二种方法实际上已经比较好用了, 但是别人的词库包太大, 好多词库自己根本用不到, 想自己定义词库怎么办呢? 下面介绍第三种方法, 从搜狗官网下载scel文件, 然后转换成org文件, 再按照方法2进行第二次转换即可.

1). 从搜狗官网下载scel词库, 保存到默认位置~/Downloads(其他位置也行)

2). 使用scel2org进行转换(scel2org已经集成在fcitx-tools里, 可以直接使用安装包管理工具进行安装).

    mkdir -p tmp && cd tmp && mkdir -p orgfile
    mv ~/Downloads/*.scel ./
    for dict in *.scel; do scel2org $dict -o orgfile/$dict.org    ; done
    cp ../pyPhrase.org orgfile/
    cat ../orgfile/* | sort | uniq > dicts.org

3). 然后按照第二种方法进行二次转换.

4). 如果你觉得麻烦, 直接fork这个仓库repo, 然后使用下面的命令即可:

    bash convert.sh

参考资料

About

fcitx框架下, 中文词库转换

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages