惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
罗磊的独立博客
B
Blog RSS Feed
C
Check Point Blog
Project Zero
Project Zero
D
Docker
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
P
Palo Alto Networks Blog
L
LINUX DO - 热门话题
Scott Helme
Scott Helme
NISL@THU
NISL@THU
L
LangChain Blog
C
Cisco Blogs
Engineering at Meta
Engineering at Meta
Know Your Adversary
Know Your Adversary
雷峰网
雷峰网
S
Schneier on Security
MyScale Blog
MyScale Blog
博客园_首页
博客园 - 三生石上(FineUI控件)
C
CERT Recently Published Vulnerability Notes
美团技术团队
V
Visual Studio Blog
T
The Exploit Database - CXSecurity.com
Recent Announcements
Recent Announcements
G
GRAHAM CLULEY
T
Tor Project blog
V
Vulnerabilities – Threatpost
U
Unit 42
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Stack Overflow Blog
Stack Overflow Blog
P
Privacy International News Feed
Security Latest
Security Latest
W
WeLiveSecurity
aimingoo的专栏
aimingoo的专栏
Hugging Face - Blog
Hugging Face - Blog
Google Online Security Blog
Google Online Security Blog
V2EX - 技术
V2EX - 技术
The Last Watchdog
The Last Watchdog
博客园 - Franky
T
Tenable Blog
云风的 BLOG
云风的 BLOG
D
DataBreaches.Net
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Latest news
Latest news
N
News and Events Feed by Topic
Cloudbric
Cloudbric
Schneier on Security
Schneier on Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Blog — PlanetScale
Blog — PlanetScale

jdhao's digital space

Conversion between base64 and OpenCV or PIL Image 腾讯云对象存储博客图床开启 CDN 加速(不需要购买额外域名) Search and Replace in Multiple Files in Vim/Neovim Change Table Column Width in LaTeX Image or Table Side by Side in LaTeX LaTeX 并排显示图像或表格 Firenvim: Neovim inside Your Browser Content inside HTML tags missing in Latest Hugo? Creating Markdown Front Matter with Ultisnips Labelme JSON 标注格式转 voc XML 格式 Nifty Nvim Techniques That Make My Life Easier -- Series 6 macOS 下如何为视频制作字幕 Running Command Asynchronously inside Neovim Resolving Merge Conflict after Git Stash Pop Pylint: command not found? A Hands-on Experience with Neovim's Built-in LSP Support How to Convert PDF to Images with Imagemagick 互联网上常用缩略语集锦 File Backup in Neovim Converting PDF Pages to Images with Poppler Nifty Nvim Techniques That Make My Life Easier -- Series 5 Neovim Configuration for System-wide Use How to sort a list of tuple or list in Python -- lambda or itemgetter? Building A Vim Statusline from Scratch 人类第一颗原子弹爆炸始末 Distributed Training in PyTorch with Horovod Learning Expect Programming Essential Knowledge about SSH Nifty LaTeX Techniques -- Series 1 更改 Adsense 邮寄地址,重新寄送 PIN Mintty Tips and Configurations Generating Table of Contents for Markdown with Tagbar Convert Python Script to Exe on Windows with Pyinstaller Ubuntu on Windows Missing after Windows Update 使用代理加速 Mac 终端下载速度 My Experience with Several Zsh Plugin Managers 深圳租房小记 How to Install zplug inside Docker Container Why don't settings inside bashrc or bash_profile take effect? Setting Up Locale in Linux 谷歌 Adsense 申请及在 Hugo 中的配置 How to Write Algorithm Pseudo Code in LaTeX Nifty Nvim Techniques That Make My Life Easier -- Series 4 A Few Grammar Questions in Writing How to Read and Write Images with Unicode Paths in OpenCV Creating A Professional Table in LaTeX with booktabs How to Create Proper Folding for Vim/Nvim Configuration Linux Tips and Tricks -- s1 JPEG Image Orientation and Exif How Do I Show the Current File Path In Neovim? JPEG Image Quality in PIL Difference between view, reshape, transpose and permute in PyTorch Convert PIL or OpenCV Image to Bytes without Saving to Disk Fast Movement and Navigation Inside Vim or Neovim Unintuitive Behaviour of Case Sensitivity in Python glob Binding Keys in Zsh 几把机械键盘试用体验 Nvim Autocompletion with Deoplete Converting Markdown to Beautiful PDF with Pandoc Exclusive and Inclusive Motion in Neovim/Vim Nifty Nvim Techniques Which Make My Life Easier -- Series 3 Why Doesn't Jedi Autocompletion Work for Some Methods Vim-like Editing inside Browser Markdown 生成 HTML 时汉字之间出现多余空格问题 小米 9 安装谷歌商店(Google Play Store)与相关配置 Create Mappings That Take A Count in Neovim Spell Checking in Nvim English Words Completion inside Neovim/Vim How to Use Python Inside Vim Script with Neovim Nifty Little Nvim Techniques to Make My Life Easier -- Series 2 Setting up Ultisnips for Neovim Mac 上罗技 M590 鼠标设置 Nifty Little Nvim Techniques to Make My Life Easier -- Series 1 A Complete Guide on Writing LaTeX with Vimtex in Neovim Manipulating Images with Alpha Channels in Pillow Sublime Text Regular Expression Cheat Sheet Cropping Rotated Rectangles from Image with OpenCV Boosting Your Productivity on Terminal with Zsh and Plugins Display Image with Pillow inside Ubuntu on Windows Faster Directory Navigation with z.lua Cmder Advanced Configurations Nvim-qt Settings on Windows 10 Tmux Plugin Install and Management How to Debug Python Code in Terminal Markdown Writing and Previewing in Neovim -- A Complete Guide Line Number Settings for More Efficient Movement in Neovim 两个大规模中文语料库介绍以及处理 Windows 系统下几款程序员不可不用的神器 我的 2018 阅读清单 A Complete Guide to Neovim Configuration for Python Development How Is Newline Handled in Python and Various Editors? Two Issues Related to ImageFont Module in PIL 在 Listary 中调用 GoldenDict 或欧路词典查单词 Reading and Writing Text Files on Windows The Mathematics behind Font Shapes --- Bézier Curves and More 快速识别图片字体:字体识别工具介绍 Deoplete Failed to Load at Startup after Updating Python neovim Package What Is The Difference between pip, pip3 and pip3.6 Shipped with Anaconda3? Windows 10 系统下 Neovim 安装与配置 How to Use shutil.move() on Windows and Linux
最新版 Rime 输入法使用 (2022 更新)
2019-02-18 · via jdhao's digital space

更新日志
  • 2022-11-06: 更新基本概念,以及一些不清楚的地方。

之前一直听说过 Rime 这个神级输入法的大名,一直迟迟没有试用,一方面现有的各种输入法用着可以,另外,对于 Rime 没有 GUI 界面的配置感觉发怵。之前一直使用的是 QQ 输入法,最近一次升级,造成 Chrome 浏览器频频崩溃,是可忍孰不可忍,正好趁此机会卸载 QQ 输入法,试试 Rime 了。关于 Rime 的配置,网上能够找到的资料实在是过于丰富,为了使文章不过于冗长,一些简单的设置我将不再重复。

值得注意,Rime 的官方文档并不是很详细,所以网上的很多配置不一定是正确的,注意自己分辨和试验。

基本概念#

Rime 是一款输入法,你也理解它是输入法内核。同时针对不同的平台它又有不同的前端,这些前端又有自己的名字。

  • Windows:weasel,中文也叫“小狼毫”。
  • macOS:squirrel,中文也叫“鼠须管”。
  • Linux:ibus-rime,中文也叫“中州韵”。
  • Android:link,中文也叫“同文输入法”。

这是用户初次接触的时候会感觉困惑的地方。

Rime 没有 GUI 设置界面,必需通过配置文件进行设置,这点和 Vim/Neovim 类似,它的配置文件使用 YAML 格式。每次更改配置文件以后,都必需要重新部署,新的设置才能生效。

Rime 配置都放在用户配置目录下,具体位置见 Rime wiki

用户文件夹下如何配置#

网上的很多教程教用户直接在用户文件夹的 build 目录下修改 default.yaml ,输入方案.schema.yaml(这里 输入方案 只是某种具体方案的代称), weasel.yaml 等文件,这是不正确的方式,因为 Rime 升级时,这些文件会被覆盖。 正确的方式是,在用户文件夹下建立 default.custom.yaml{输入方案}.custom.yaml ({输入方案} 代表某种具体输入方案), weasel.custom.yaml 文件,这些文件相当于是补丁,部署以后会更新到默认的配置里面。定制指南里面也有明确提到。

主题使用以及添加新的颜色主题#

Rime 中,输入法的显示效果称为「颜色主题」(color scheme),它已经默认带了一些主题,默认的主题在 这里可以找到。要使用默认的主题,例如使用 lost_temple,只要在平台配置文件(例如 mac,就是 squirrle.custom.yaml) 中添加下面的配置:

patch:
  "style/color_scheme": lost_temple

在网上看到一个有趣的主题,如何添加到 Rime 中使用呢?以 Windows 平台为例,假如我们要加入这里提供的「丹青」主题,在系统 custom 设置文件 (即 weasel.custom.yaml) 中加入以下配置即可:

"preset_color_schemes/tantsing":  # 在配色方案列表裏加入標識爲 tantsing 的新方案
    author: Mijiag
    back_color: 0xE3E3E3
    border_color: 0x000000
    candidate_text_color: 0x000000
    comment_text_color: 0x474747
    hilited_back_color: 0x1A0791
    hilited_candidate_back_color: 0x6F0B73
    hilited_candidate_text_color: 0xE3E3E3
    hilited_text_color: 0xE3E3E3
    name: "丹青/Tantsing"
    text_color: 0x000000

引用该主题的时候,使用名字 tantsing

"style/color_scheme": tantsing

效果如下:

如果要自己制作 Rime 主题,「Rime 西米」是一款网页端工具,可以辅助制作,实时渲染颜色,便于查看最终显示效果。这里有一些预定义的主题可供使用。

符号自定义#

首先从 Rime 安装根目录下的 data 子目录拷贝 symbols.yaml 文件到 Rime 用户目录1(安装 Rime 以后,我的用户目录并没有像网上教程所说的包含 symbols.yaml文件),并且把该文件重命名为 symbols.custom.yaml

然后仿照里面的例子,我们就可以自定义自己的符号了,例如,下面是我增加的一些符号:

# 个人常用信息
    '/gr': [jdhao@hotmail.com, 132******68, jdhao]
# 快速输入勾和叉
    '/gc': [✓, 🗹, ✗, ☒]

然后,在新建的 luna_pinyin_simp.custom.yaml (luna_pinyin_simp 是沧月简体输入方案的代号)里面,加入下面的设置即可:

patch:
  # 引用 `symbols.custom` 文件里面的符号
  'punctuator/import_preset': symbols.custom
  'recognizer/patterns/punct': "^/([a-z]+|[0-9])$"

然后在中文模式下,输入 /gc,就会显示出自定义的符号,输入对应的数字,符号就会上屏。

输入直角引号#

有的人喜欢在写作的时候使用直角引号:「」『』,Rime 在 symbols.yaml 里面,已经提供了这个功能,不过是在 [] 按键上提供的,中文输入法状态下,按下[ (]),返回的结果中包含 (),如果按住 Shift 键,按下 [ (]),返回的结果中包含 ()。

但是因为这毕竟是引号,最好是按下引号的时候,能够输出直角引号,在symbols.custom.yaml 中,找到 punctuator 部分下的 hafl_shape (半角的意思)下面,

把下面的映射

    '''' : { pair: [ '‘', '’' ] }
    '"' : { pair: [ '“', '”' ] }

改成

    '''' : { pair: [ '『', '』' ] }
    '"' : { pair: [ '「', '」' ] }

这样就可以直接输入直角引号了,另外一种方式就是后文将要提到的在词典中添加直角引号映射

给沧月简体增加词典#

这里可以下载用于沧月拼音方案的词库,只下载下面几个文件即可:

  • luna_pinyin.cn_en.dict.yaml
  • luna_pinyin.extended.dict.yaml
  • luna_pinyin.hanyu.dict.yaml
  • luna_pinyin.poetry.dict.yaml

这几个文件都是一些词典文件,然后我们可以仿照这些词典文件建立自己额外的词典,增加自己的词汇。例如,建立名为 jdhao.dict.yaml 的文件,然后添加几个自己常用的词汇,文件内容如下:

# jdhao.dict.yaml 文件内容
name: jdhao
version: "2019-02-16"
sort: by_weight
use_preset_vocabulary: true
import_tables:
  - luna_pinyin
  - luna_pinyin.extended
  - luna_pinyin.hanyu
  - luna_pinyin.poetry
  - luna_pinyin.cn_en
...

GitHub	github	100
Stack Overflow	so	1000

上述文件中,我们通过 import_tables 把刚才下载的所有词典还有 luna 本身的词典都给包含进来了,然后在下面再加上我们自己建立的词汇。

词典的格式#

词典的格式为: 词汇<Tab>编码<Tab>词频,各个项目之间必须用 Tab(也就是制表符)分割,刚开始我不知道,结果使用了空格,自己添加的词汇总是不成功,需要注意。如果使用的是 Sublime Text 来编辑这个 YAML 文件一定要注意不要开启translate_tabs_to_spaces 选项。词频部分可以不要。

一切添加妥当之后,重新部署。然后试着输入,up,候选列表会出现 U盘,输入 yizhanghong,出现 一丈红,说明词汇已经添加成功了!

直角引号#

前面提到了修改自带的引号映射来输入直角引号的方式,但是修改以后,如果想要输入中文的单引号,双引号就不太方便了。利用词典的功能,我们也可以输入直角引号,在jdhao.dict.yaml 中加入下面的映射即可:

效果如下图所示

安装并启用小鹤双拼#

最新版 weasel 并不带有小鹤双拼输入方案,需要自己下载,步骤如下:

  • 右键任务栏小狼毫的图标,打开菜单,选择「输入法设定」,进入输入法选择界面:

然后点击「获取更多输入方案」,会打开一个 Cmd 窗口,内容如下:

Rime package installer

Working directory: d:\Program Files (x86)\Rime\weasel-0.13.0
Package installer directory: d:\Program Files (x86)\Rime\weasel-0.13.0\
Download cache directory: C:\Users\ADMINI~1\AppData\Local\Temp
Rime user directory: C:\Users\Administrator\AppData\Roaming\Rime


Enter package name, URL, user/repo or downloaded ZIP to install:
  • 输入要下载的输入法方案即可,双拼方案在这里可以找到,名称为 double-pinyin,在上面的对话框输入以后就可以下载 Rime 提供的双拼方案。

然后在上图的输入方案选择界面,选择要启用的输入方案。在输入汉字的界面,按 F4 选择小鹤双拼,即可启用。

安装表情 emoji#

Rime 提供了很多表情,地址在 这里,但是对如何安装这些表情却有点语焉不详。

Rime 最新版提供了 东方破 来安装输入方案,这里 也给出了 Windows 系统上使用的方法,但是下载安装以后,在 Cmd 使用如下命令安装 emoji,

或者使用

都会输出下面的错误信息:

Rime package installer

Working directory: C:\Users\Administrator\AppData\Roaming\plum
Package installer directory: C:\Users\Administrator\AppData\Roaming\plum\
Download cache directory: C:\Users\ADMINI~1\AppData\Local\Temp
Rime user directory: C:\Users\Administrator\AppData\Roaming\Rime

rime-install: line 2: $'\r': command not found
rime-install: line 53: syntax error near unexpected token `$'do\r''
'ime-install: line 53: `for target in "${targets[@]}"; do

这个脚本在 cmd 上运行不了。必须使用 bash 环境才能运行,可以安装 git for Windows

安装以后,cd 到刚才安装 plum 所在的目录,首先运行以下命令安装 emoji,

然后,使用下面的命令给输入方案打 patch,我使用的输入方案是 luna_pinyin_simp,所以参考 这里 的命令:

bash rime-install emoji:customize:schema=luna_pinyin_simp

这样才会 patch 成功,这时,位于 %appdata%/rime 目录下的luna_pinyin_simp.custom.yaml 文件中会增加以下配置:

__patch:
# Rx: emoji:customize:schema=luna_pinyin_simp {
  - patch/+:
      __include: emoji_suggestion:/patch
# }

然后重新部署,emoji 添加成功了!

沧月简体默认输出英文#

如果经常和英语打交道,偶尔输入汉字,可以把沧月拼音初始状态设为英语,这样就不用在需要输入英文时切换输入状态了。参考 这里给出的说明,在 luna_pinyin_simp.custom.yaml 文件中加入下面的设置:

patch:
  "switches/@0/reset": 1  # 初始的 ascii mode 设置为「西文」

一些小问题#

各种配置到底放在哪里啊?#

有的配置是某个平台独有的,要放在平台相关的,有的配置只想某个输入方案独有,放在方案的配置里面,如果各个方案都想试用某个配置,就放在 default.custom.yaml 里面,参考这里.

有的配置怎么不生效?#

很有可能是忘记部署了,任何更改,都必须在部署以后才能生效。当然,也可能是配置填写的时候没有按照格式规范书写,写错了,这时候部署就无法生效,我们可以查看 log 确认,Rime 的 log 文件地址:

  • 【中州韻】 /tmp/rime.ibus.*
  • 【小狼毫】 %TEMP%\rime.weasel.*
  • 【鼠鬚管】 $TMPDIR/rime.squirrel.*

通过查看最近的 log 文件,也许能发现具体错误在哪里。

为什么设置候选词竖排显示无效?#

很多教程中说到,在 weasel.custom.yaml 里面使用如下的设置,使候选词竖排显示:

patch:
  "style/horizontal": false

但是部署以后,候选词还是横排显示,这是为何?可能是因为某些 color_scheme 本身把候选词设为了横排显示,主题设置的优先级更高,所以仍然横排显示,例如 Rime 鼠须管有多款主题都在主题设置中把候选词设置为横排2,可以查看主题的配置来确定。

参考#

** 题图截取自 Rime 官方网站