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. 九、Rxjs请求对Observable进行封装

    1.引入 Http.Jsonp.Rxjs 三个模块 2.请求中添加一个 .map(res => res.json) 问题 1.Property 'map' does not exist on t ...

  2. webstorm9.0.3 注册码

    William 45550-12042010 00001SzFN0n1bPII7FnAxnt0DDOPJA INauvJkeVJBuE5bqLEznccE4tet6tr RiyoMxDK8oDY93t ...

  3. Python3.5-20190530-unittest模块

    >>> dir(unittest) #所有的属性和方法 ['BaseTestSuite', 'FunctionTestCase', 'SkipTest', 'TestCase', ' ...

  4. 关于vue开发的常见问题

    一.vue单页面回退丢失参数的问题 可能有些跟我一样的新手同学会遇到一个问题,就是比如我从商品详情跳转到购物车,没问题,但是,购物车页面中点击浏览器的回退按钮,返回到detail页面时,你的动态数据( ...

  5. Java web入门之Http请求和响应

    三层架构 web层:JSP + Servlet.Struts 2.SpringMVC service层:Spring dao层:JDBC.DBUtils.Hibernate.MyBatis form表 ...

  6. Linux系统重要文件(三)

    一系统运行级别文件 文件路径:/etc/inittab 文件作用说明:定义系统启动后,自动开启哪些软件程序系统 runlevel 查看当前运行级别 centos6系统运行级别: 7个级别      0 ...

  7. 生成100个 "20180520" 这样的时间字符串 写入txt文件

    主要想记录一下 . 写NSString 到txt . 数组的去重 . 数组的截取 . 数组分割 代码如下: NSString *year = @"2018"; NSArray *m ...

  8. php ltrim()函数 语法

    php ltrim()函数 语法 ltrim()函数怎么用? php ltrim()函数用于删除字符串左边的空格或其他预定义字符,语法是ltrim(string,charlist),返回经过charl ...

  9. 转载 ldd3环境配置

    ldd3(<linux设备驱动程序>)里面使用的正是Linux2.6.10内核,如果内核不同,使用课本里的代码会出现各种问题,所以搭建与课本一样内核版本的环境,用来学习. 尝试过使用ubu ...

  10. C#操作xml完整类文件

    C#操作xml完整类文件 xml_oper.cs using ...System; using System.Data; using System.Web; using System.Xml; /** ...