Rime 导入词库
Ubuntu 下的中文输入法真是一言难尽:百度极其难安装成功,搜狗会导致 IDE 卡死/闪退/打不了中文。Ficix 能够提供跟 Windows 一样的体验,但实在不稳定。退而求其次,用更稳定的 IBus,搭配好的词库,虽然比不上联网联想,但总比自带的智能拼音强。
启用 Rime
IBubs 一种输入框架
Rime 一种输入法引擎
设置–区域和语言–点击加号–汉语–选择中文(Rime)
进入 ~/.config/ibus/rime
新建 default.custom.yaml
patch:
# 输入方案,这里是简明拼音
schema_list:
- schema: luna_pinyin_simp
menu:
# 候选词数目
page_size: 6
ascii_composer:
# 中英文切换快捷键
switch_key:
Shift_L: commit_code
Shift_R: commit_code
# 切换输入方案快捷键
switcher/hotkeys:
- "Control+grave" # Ctrl + `
重启 ibus 即可使用
ibus restart
横排显示候选词,新建 ~/.config/ibus/rime/build/ibus_rime.yaml
写入
style:
horizontal: true
候选词个数、方案列表、快捷键等设置都可以在 ~/.config/ibus/rime/default.yaml
中调整。
自定义词库
如果想省事,备份/清空
~/.config/ibus/rime
里的文件,把这个项目克隆下来,解压,把所有文件复制过去,重启 IBus
这里以添加 8105 + base + ext 为例,下载需要的词库,新建以下文件:
luna_pinyin_simp.custom.yaml
输入方案自定义文件
patch:
# 指定词库
"translator/dictionary": luna_pinyin.extended
自定义词库 luna_pinyin.extended.dict.yaml
可以在 import_tables 添加其他词库,输入 .dict.yaml
前的文件名即可
---
name: luna_pinyin.extended
version: "1.0"
sort: by_weight
use_preset_vocabulary: true
import_tables:
- luna_pinyin
- 8105
- base
- ext
...
# 也可以在这里直接添加词组
哆啦A梦 duo la a meng
最后重新部署/重启 IBus
白霜词库默认开启了错音错字提示,效果就是在候选词后显示拼音,我觉得挺音响体验的,关闭方法:
打开 /rime/rime_frost.schema.yaml
,找到 translator,注释/删除 spelling_hints 与 always_show_comments 两行
迁移手机词库
补充一下个人词库,日常体验会更上一个台阶。
手机里有百度输入法,写个程序转换下格式,加在 import_tables 即可
const fs = require('fs')
const readline = require('readline');
const lines = [];
const results = [];
const rl = readline.createInterface({
input: fs.createReadStream('ch3.txt', { encoding: 'utf-8' }),
crlfDelay: Infinity
});
rl.on('line', (line) => {
lines.push(line);
});
rl.on('close', (line) => {
lines.forEach(function (item) {
item = item.replaceAll('|', ' ').replace('(', '\t').replace(')', '').replace(' 55000', '');
results.push(item);
})
fs.open('jack.dict.yaml', 'w', (err, fd) => {
if (err) throw err;
results.forEach((num) => {
fs.write(fd, num.toString() + '\n', (err) => {
if (err) throw err;
});
});
fs.close(fd, (err) => {
if (err) console.log(err)
});
});
});
留言