rime是一个非常优秀的输入法,linux平台下的反应速度远超搜狗,也没有隐私风险。2012年开始接触它,到后来抛弃了它,因为rime自带的词库真的太弱了,也懒得折腾。最近发现一个词库转换软件叫 imewlconverter,于是发现rime导入其他输入法(比如搜狗)的词库其实还挺方便的。

要导入词库需要两个文件:

1. luna_pinyin_simp.custom.yaml 是配置文件

rime在部署的时候会自动加载。因为我用的是明月简体schema,所以是这个名字。如果你用的是明月schema,那就是luna_pinyin.custom.yaml。

# luna_pinyin_simp.custom.yaml
patch:
# 指定自定义词库位置
"translator/dictionary": luna_pinyin.sogou

2. luna_pinyin.sogou.dict.yaml 是词库文件

文件名是上面配置文件中设置的名字加上.dict.yaml后缀。内容是一个rime定义的文件头加上转换好的txt格式的词库:

将这两个文件放置在rime的配置文件夹之后,点击rime输入法图标的“重新部署”按钮就可以了。输入“yxlm”会自动出现原来没有的候选词“英雄联盟”。

3. 怎么生成这个luna_pinyin.sogou.dict.yaml

  • 首先安装一下imewlconverter,怎么安装就不说了。
  • 然后下载搜狗的scel细胞词库到某个文件夹
  • 然后在这个文件夹写一个批量转换的python脚本(见最后)。
  • 然后运行这个脚本,就会用imewlconverter把所有的scel细胞词库文件转换成一个txt格式的词库文件,并以自定义的文件名保存,然后添加rime定义的yaml头。
  • 拷贝文件到rime配置文件夹。
#!/usr/bin/env python
# coding=utf-8 # ============================================================
# filename : convert.py
# author : chdy.uuid@gmail.com
# modified : 2019-09-11 15:39
# descrip. :
# ============================================================ from glob import glob
import os
import shutil if not os.path.exists('./output/'):
os.mkdir('output') original_files = glob("*.scel")
print("---------------")
for of in original_files:
if ' ' in of:
new_fn = of.replace(' ', '_')
print('rename "%s" to "%s"' % (of, new_fn))
shutil.move(of, new_fn)
of = new_fn
print('>> ', of)
print("---------------") original_files = glob("*.scel")
# print(original_files) yaml_file = 'luna_pinyin.sogou.dict.yaml' command='''imewlconverter -i:scel %s -o:rime "%s"''' % (str(original_files).strip('[]').replace(',', ''), yaml_file)
print(command)
os.system(command) data = '''---
name: luna_pinyin.sogou
version: "1.0"
sort: by_weight
use_preset_vocabulary: true
# 此处为扩充词库(基本)默认链接载入的词库
import_tables:
- luna_pinyin
- luna_pinyin.sogou
... # 自定义词语 '''
with open(yaml_file, "r+") as f:
old = f.read()
f.seek(0)
f.write(data)
f.write(old) print("Now don't forget to copy the file to rime config folder (like ~/.config/fcitx/rime)")

https://www.jianshu.com/p/300bbe1602d4

中州韵输入法(rime)导入搜狗词库的更多相关文章

  1. (转载)Windows下小狼毫输入法(Rime)的安装与配置(含导入搜狗词库)

    div id="cnblogs_post_body" class="blogpost-body"> 最近彻底烦透了搜狗拼音输入法的各种流氓行为,自动升级不 ...

  2. (转载)Rime输入法—鼠须管(Squirrel)词库添加及配置

    为什么用Rime 13年底的时候,日本爆出百度的日本版本输入法的问题,要求政府人员停用,没当回事,反正我没用,当然了,有关搜狗和用户隐私有关的问题就一直没有中断过,也没太在意.但,前几天McAfee爆 ...

  3. Fcitx使用搜狗词库与皮肤

    在 \(\text{Linux}\) 环境下,\(\text{Fcitx}\) 确实是最好用的开源输入法之一.然而 \(\text{Windows}\) 下的巨头输入法 -- 搜狗,对 \(\text ...

  4. Elementary OS 使用fcitx安装搜狗词库、搜狗输入法(Linux通用)

    刚开始接触Linux的小伙伴可能比较懵逼,我要使用ibus输入法还是fcitx(小企鹅)输入法,其实这两种都不能说是输入法,Linux中输入法的使用是依赖于输入法框架的,其中搜狗输入法和百度输入法都是 ...

  5. 将搜狗词库.scel格式转化为.txt格式

    由于项目中要用到词库,而下载的搜狗词库是.scel格式,所以就用python脚本将搜狗词库.scel格式文件转化为.txt格式文件. #!/bin/python # -*- coding: utf-8 ...

  6. CentOS安装搜狗词库

    中文输入使用ibus-pinyin. 在ibus-pinyin里使用搜狗词库 # wget http://hslinuxextra.googlecode.com/files/sougou-phrase ...

  7. 解析搜狗词库(python)

    #!/usr/bin/python # -*- coding: utf-8 -*- import struct import sys import binascii import pdb #搜狗的sc ...

  8. 将搜狗词库(.scel格式)转化为txt格式

    参考:http://blog.csdn.net/zhangzhenhu/article/details/7014271 #!/usr/bin/python # -*- coding: utf-8 -* ...

  9. 使用Java将搜狗词库文件(文件后缀为.scel)转为.txt文件

    要做一个根据词库进行筛选主要词汇的功能,去搜狗下载专业词汇词库时,发现是.scel文件,且通过转换工具(http://tools.bugscaner.com/sceltotxt/)转换为txt时报错如 ...

随机推荐

  1. 【LeetCode】栈 stack(共40题)

    [20]Valid Parentheses (2018年11月28日,复习, ko) 给了一个字符串判断是不是合法的括号配对. 题解:直接stack class Solution { public: ...

  2. Java实现sock5代理服务器

    入职练手socks5代理服务器,过程总结一下. 1.下载火狐浏览器,设定代理为socks5代理,地址为127.0.0.1:1080. 2.socks5协议1928,中文版,原版,认真阅读 3.按照协议 ...

  3. mysql安装 demo [linux centos7] [5.7.26]

    MySQL 安装配置 https://www.runoob.com/linux/mysql-install-setup.html =================================== ...

  4. LOJ149 0/1分数规划

    竟然没有写过分数规划的题解 考前挣扎一发板子( 二分答案k 然后0/1分数规划的方法就是 分母乘过去然后贪心解决 注意实数二分的精度 一般估计一个次数比较好不然容易出现精度比较误差[惨痛教训 就做完了 ...

  5. python request 接口测试get和post请求

    开发IDE:pycharm python:2.7.10 get请求 # coding: UTF-8 #兼容中文字符,如果没有这句,程序中有中文字符时,运行会报错 import requests #引用 ...

  6. Cesium标点

    let startPoint = this.viewer.entities.add( //viewer.entities.add 添加实体的方法 { name: '测量距离', //这个属性跟页面显示 ...

  7. mybatis源码分析之05一级缓存

    首先需要明白,mybatis的一级缓存就是指SqlSession缓存,Map缓存! 通过前面的源码分析知道mybatis框架默认使用的是DefaultSqlSession,它是由DefaultSqlS ...

  8. Word中页码及目录、参考文献的制做方法

    1.页码从正文开始 1.要想从哪里显示第一页,就在这页的前一页的最后一行最后的地方,插入分隔符---下一页2.然后在你想显示第一页的那一页双击页脚处,点击取消掉“链接到前一条页眉”.(这是为了取消原来 ...

  9. 20175203 2018-2019 实验三 《敏捷开发与XP实践》

    20175203 2018-2019 实验三 <敏捷开发与XP实践> 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课 ...

  10. KMP算法中next数组的构建

    记得初学$kmp$的时候 老师让大家把它直接背下来 然而不理解的话 不仅调试起来比较慢 很多题目也难往$kmp$上想 ----------------------------------------- ...