中州韵输入法 linux 小鹤双拼,「Rime 鼠须管」小鹤双拼配置指南

2023-11-09

a749073e76416399c023598b4483fb28.png

引言

如何将汉字输入到计算机中是一个编码有关的问题,目前市面上主流的方案包括音码、形码、音形码。和大多数人一样,之前我一直使用全拼,而且得益于 NLP 技术发展,使用搜狗输入法搭配云词库,输入效率可以媲美五笔输入法。

但是今天要和大家分享,是从年初开始使用的全新音码输入方案——小鹤双拼。最初关于双拼的概念来自李笑来《把时间当作朋友》:

在很长的一段时间里,我常言之凿凿地对同学们说“练习打字完全是浪费时间。”我当时的逻辑是这样的。首先,我认为王码五笔字型输入法是给打字员用的。为什么要学它?难道你将来想要当个打字员?我总觉得五笔字型知识一种抄写输入法,因为用他输入时只能边看边打。而对真正创造内容的人来说,先用纸和笔写出来再录入电脑,还有比这更荒诞的事情吗?学习拆字学法已经很累人了,还要练什么指法,见鬼。更不用说这种所谓的输入法对思考的干扰——不仅要把字拆开再输入,还要按照莫名其妙的方法拆字。其次,盲打。我现在不是盲打,只是两根手指输入速度就已经很快了(至少比手写快)。

这样看来,我还有必要学习什么五笔字型和盲打吗?

在我有了这些定见很久之后,发生了一件事情。

那是在1997年,我25岁。当时互联网除了聊天室和论坛,几乎没有什么实际的应用。适逢windows捆绑了哈尔滨工业大学开发的“微软拼音输入法1.0”,某天下午,当我在网上和一位永远都不会知道是谁的女生放肆地聊了两个小时之后,突然发现自己竟已无师自通地学会了所谓的“盲打”了!在这之后的一段时间里,我身边甚至很多人羡慕我打字的速度。为了让自己的打字速度再快一点,我索性花了差不多20分钟,把原本默认的“全拼输入”改成了“”双拼输入“。而这还远远不够。后来,我增设了”慢放模糊音“(不区分z/zh、c/ch、s⇧),又把打字速度提高了一些。这时我第一次意识到‘有些认识,哪怕是简单的常识,也需要亲身经历后才能真正体会”。只有拥有无与伦比的打字速度,才会体会打字速度快的好处。

打字速度提升后,我发现自己不再讨厌在读书的时候做笔记了,因为在键盘上敲字相对于笔写字来说轻松太多。我开始大段地纪录感悟,有时甚至干脆整篇摘抄原文!

李笑来思考的问题正是如何利用最小的代价快速的输入文字。这里代价包括两个方面,输入方案的学习成本以及输入文字的速度。简单分析一下,主流输入法需要用户在键盘上敲击一些字符,然后映射到汉字。就是说输入文字的速度和两个因数有关:敲击键盘的次数(对应计算机中的码长)以及重码的字符数量(对于拼音输入法来说,这里指的是每个拼音对应多少的字)。

从这两个指标来说,五笔应该是接近输入法的极限,五次敲击键盘肯定能选定你需要的汉字。但是学习五笔需要记忆大量的说是有序其实没有太多规律的字根,学习曲线不是一般的陡峭。几年前,自己尝试跟着网上的视频教程学习,最后还是太复杂而放弃。

这时候要介绍一下双拼输入法,它是一种基于全拼的激进改良版拼音输入法。简单来说,它将一个汉字的拼音分成声母和韵母两个部分,输入一个拼音只需要按两个键(减少键盘的敲击次数但是没有减少重码率)。比如对于“拼音”两个字来说,全拼需要输入 pinyin 六个字符,换成是双拼,只需要输入 4 个字符 pbyb。具体介绍可以看 做少数派中的少数派:双拼输入快速入门。

由于双拼有声母和韵母,需要先从键盘上进行一次映射,所以有很多的输入方案。我自己入门使用的是小鹤双拼,也推荐大家使用这个方案。主要原因有两点:声母和韵母全部放在字母键上(微软双拼中要用到 ; 键,以及 iOS12 和 MacOS 中自带的输入法都支持这个方案(国内那几个流氓输入法更不用提)。

下图是一张小鹤双拼的输入法键位图,其中黑色的字符代表是键盘上的什么键,棕色的代表这个键表示声母时是什么,蓝色的代表这个键表示韵母时是什么。学习双拼的过程也很简单,拼音本身就会,无非是熟悉键位。从我自己的角度来说,每天抽出几分看一下键位图,再在 双拼练习 @ BlueSky (相关的介绍可以看:快速上手双拼,可以尝试这个练习平台 - 少数派)网站上练习 5 分钟,一周后可以完全脱离键位图来打字,之后就是孰能生巧的过程。

2c87ac515a5d77461dae7aba2f93292a.png

说回来当你学习了这么强大的内功之后,自然需要神兵来辅助你输入。在饱受国内的流氓输入法侵害之后(比如输入到一半给你跳一个什么斗图功能提示),我遇到今天的主角 RIME | 中州韻輸入法引擎,它是由佛振开发的一种开源输入框架,业内人士称之为「神级输入法」。上一个有类似拉风的称号的软件还是「神级编辑器」—— Vim。Rime 有趣的一点是在不同的平台上有不同的名字,包括 Linux 上的「中州韵」,Win 上的「小狼毫」以及 Mac 上的「鼠须管」。稍微有文化的人可以反应过来,后面两个正是两种不同的毛笔名字。

简单总结一下为什么要使用鼠须管:一是安全,不会出现什么输入法读取你个人信息更甚者是密码发送到服务器,也不知道他们用来机器学习什么;二是配置全平台同步,解决多台设备的输入法配置问题;三是快,不会出现输入法跟不上我的打字速度而导致思路中断的情况。

安装

对于 MacOS 来说,最简单的方式莫过于在终端中输入 brew cask install squirrel 安装软件本体。如何你想使用 rime/plum: 東風破可以在终端中输入 curl -fsSL https://git.io/rime-install | bash -s -- :preset double-pinyin 。其中 preset double-pinyin 指定下载时默认包括小鹤双拼输入方案。

配置

Rime 的配置文件默认放在 ~/Library/Rime,而且是一种扩展 yaml 文件。默认的文件名为 .schema.yaml,比如小鹤双拼相关的默认配置在 double_pinyin_flpy.schema.yaml 中。如果我们自己想添加一些设置,推荐写在以.custom.yaml 结尾的新文件中,比如 double_pinyin_flypy.custom.yaml

default.custom.yaml

这个文件写一些全局的配置。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30patch:

switcher:

caption: 〔方案选单〕

hotkeys: Control+grave

# 候选词数量

menu:

page_size: 9

# 使用的输入方案

schema_list:

- schema: luna_pinyin_simp

- schema: luna_pinyin

- schema: double_pinyin_flypy

# 输入法中英文状态快捷键

ascii_composer/switch_key:

Caps_Lock: commit_code

Control_L: noop

Control_R: noop

# 按下左 shift 英文字符直接上屏,不需要再次回车,输入法保持英文状态

Shift_L: noop

Shift_R: noop

# 在一些软件中默认使用英文输入状态

app_options:

com.apple.finder: &a

ascii_mode: true

no_inline: true

com.googlecode.iterm2: *a

com.alfredapp.Alfred: *a

com.runningwithcrayons.Alfred-2: *a

org.vim.MacVim: *a

com.apple.Terminal: *a

installation.yaml

配置文件多平台同步相关文件,sync_dir 指定同步文件夹的位置,配合例如坚果云之类的软件实现备份同步。

1

2

3

4

5

6

7

8distribution_code_name: Squirrel

distribution_name: "鼠鬚管"

distribution_version: 0.11.0

install_time: "Sun Dec 23 23:42:01 2018"

installation_id: "mac_didi"

sync_dir: "/Users/didi/Documents/rime_sync"

rime_version: 1.4.0

update_time: "Mon Jun 3 07:18:30 2019"

从 自由输入法RIME简明配置指南 - 少数派 中了解到,rime 个人词典双向同步,用户配置单向同步。另外需要把配置文件上传到 git 中,方便不同设备使用。

double_pinyin_flypy.custom.yaml

小鹤双拼相关的自用配置

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49patch:

# 引用 `symbols.custom` 文件里面的符号

# 'punctuator/import_preset': symbols.custom

'recognizer/patterns/punct': "^/([a-z]+|[0-9])$"

# 載入朙月拼音擴充詞庫

"translator/dictionary": ryen

# 更改‘西文’为‘英文’,‘增广’为‘扩展集’

punctuator:

import_preset: symbols.custom

half_shape:

"#": "#"

"`": "`"

"~": "~"

"@": "@"

"=": "="

"/": ["/", "÷"]

'\': ["、", '\']

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

"[": ["【", "["]

"]": ["】", "]"]

"$": ["¥", "$", "€", "£", "¢", "¤"]

"

">": ["》", "〉", "»", ">"]

switches:

- name: ascii_mode

reset: 0

states: ["中文", "英文"]

- name: full_shape

states: ["半角", "全角"]

- name: zh_simp

reset: 1

states: ["漢字","汉字"]

- name: ascii_punct

states: [",。", ",."]

- name: extended_charset #生僻字开关

states: ["通用", "扩展集"]

- name: show_emoji # 该项为表情输入,具体内容可见下文中 [关于表情输入] 部分

reset: 1

states: [ "

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

中州韵输入法 linux 小鹤双拼,「Rime 鼠须管」小鹤双拼配置指南 的相关文章

  • [人工智能-综述-1]:人工智能系统架构

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 人工智能 综述 1 人工智能系统架构 文火冰糖 王文兵 的博客 CSDN博客 人工智能系统的技术架构 目录 第1部分 什么是人工智能 1 1
  • VLC Activex控件(VideoLAN.VLCPlugin.1 VideoLAN.VLCPlugin.2)的所有方法 属性及使用 在一个老外的网站上找到的...

    无意中在老外的网站上发现了关于VideoLAN VLCPlugin 1和VideoLAN VLCPlugin 2所有方法和属性 公布出来 以免大家浪费时间去寻找 注意你使用的VLC的版本 If you open a link to a vi
  • 构建配置ESP8266 MQTT服务器

    我们将了解ESP8266模块如何通过消息队列遥测传输 MQTT 相互通信 MQTT术语 已经使用了诸如中央代理 主题 发布 订阅之类的术语 因此现在该用类似于邮局的方式来解释它们了 消息是报纸或杂志 代理 这是一个接收客户端消息的软件应用程
  • 数字保留有效数字_分析化学有效数字问题

    一 有效数字位数 1 非整数数据 有效数字为从左端开始首个非零数字算起 至右端最后一个数字 例如 0 0518有3位有效数字 0 05180有4位有效数字 同时注意 在用科学记数法表示数字时 有效数字位数不变 例如 0 05180改写为 2
  • SpringMVC+Freemarker+jQuery实现多语言(国际化)切换

    一 spring启动配置文件修改 其中
  • cuda与driver对应版本

    CUDA Toolkit Toolkit Driver Version Linux x86 64 Driver Version Windows x86 64 Driver Version CUDA 11 4 Update 1 gt 470
  • 数据结构-带头节点的单链表(C语言)超详细讲解

    前面我们学到线性表的顺序存储结构 顺序表 发现它有着明显的缺点 插入和删除元素时需要频繁的移动元素 运算效率低 必须按事先估计的最大元素个数申请连续的存储空间 存储空间估计大了 造成浪费空间 估计小了 容易产生溢出 空间难以扩大 采用链式存
  • 每天Leetcode 刷题 初级算法篇-杨辉三角

    题目要求 力扣题解 代码 import java util ArrayList import java util List program mydemo description this is a class author Mr zeng
  • GraphEdit 的作用和使用

    GraphEdit 是一个用于建立和测试Filter graph 的可视化工具 在DirectX SDK 中附带一个可执行程序版本 在SDK目录中的Bin DXUtils graphedt exe 你可以快速测试你建立的Filter gra
  • ORACLE存储层次以及彻底删除数据的方式

    ORACLE的存储层测氛围四层 表空间 就是实际的数据文件 对应操作系统上的一个数据文件 段 回滚段 数据段 索引段 区 ORACLE分配磁盘空间的最小单元 块 ORACLE操作数据库的最小IO单元 user tables user ind
  • 【手撕代码系列】JS手写实现深拷贝

    公众号 Code程序人生 分享前端所见所闻 深拷贝是在计算机科学中非常重要的概念 尤其是在处理数据结构和对象的时候 深拷贝的目的是创建一个新的对象 它有自己的内存空间 并且其中的所有值都是原始对象的副本 这样做的好处是 可以避免在修改新对象
  • java中字符型常量的表示方法_Java中的常量,常量的表现形式和进制的转换及有符号数据表示法(原码,反码,补码)...

    1 常量 在程序执行的过程中 其值不发生改变的量 分类 1 字面值常量 字符串常量 用双引号括起来内容 字符常量 用单引号括起来的内容 整数常量 所有整数 小数常量 所有小数 布尔常量 true 或 false 空常量 null 2 自定义
  • 游戏行业未来发展趋势分析?

    未来游戏的方向与趋势 今天听了 哥的课程 我更加深入的了解了游戏行业的整体发展历程 这对于我们这一群即将进入游戏行业的校招生而言 无疑是受益匪浅的一节课 我 一个刚刚准备进入游戏行业的小白 大致猜想了游戏未来的几个发展方向与趋势 我认为 游
  • 3椭圆曲线密码学:ECDH和ECDSA

    原文链接 Elliptic Curve Cryptography ECDH and ECDSA 这篇文章是ECC系列的第三篇 在之前的文章中 我们已经知道了椭圆曲线是什么 并且为了对椭圆曲线上的点做一些数学运算我们定义了群公理 然后我们将椭
  • 静态方法中调用非静态方法

    1 常见现象 静态static方法中不能直接调用非静态non static方法 但可以通过将对象引用传入静态方法内 进而再调用该对象非静态 non static 方法 在主函数 static方法 中 我们经常需要创建某个类的实例 再引用其非
  • Mysql高级部分

    1 索引 索引 index 是帮助Mysql高效获取数据的数据结构 索引的目的在于提高查询效率 可以类比字典 可以简单理解为 排好序的快速查找数据结构 在数据之外 数据库系统还维护着满足特定查找算法的数据结构 这些数据结构以某种方式引用 指
  • tslib1.4的交叉编译

    tslib是touch screen lib 即支持触摸屏的库文件 要交叉编译qte4 5 2 就必须先要编译tslib1 4 今天做了这个工作 记录一下 平台 VMware Centos5 4 交叉编译器 arm linux 3 4 1
  • windows下使用cmake编译c++

    好久没有更新博客了 最近在做c 相关的 编译起来确实很痛苦 所以心血来潮 继续更新一下 主要还是一些跨平台的库 比如zlib libpng opencv ffmpeg 编译工具使用mingw作为主要编译环境支持 使用msys进行编译 一 下
  • R语言实战笔记--第八章 OLS回归分析

    R语言实战笔记 第八章 OLS回归分析 标签 空格分隔 R语言 回归分析 首先 是之前的文章 数理统计里面的简单回归分析 这里简单回顾一下 简单回归分析的原理 最小二乘法 即使回归函数与实际值之差的平方和最小 所以它在R中也称为OLS模型

随机推荐

  • 人工智能可以用来预测人口增长吗?

    人工智能可以用来预测人口增长 利用人工智能技术 可以对历史人口数据进行分析 并根据这些数据建立预测模型 从而预测未来的人口增长趋势 此外 人工智能还可以用于预测人口结构变化 人口流动趋势等方面的问题 这些预测结果可以为政府制定人口政策提供参
  • java读写文件大全(字节流读取得方法)

    原文地址 http blog sina com cn s blog 6a4af8630101et2t html 使用Java操作文本文件的方法详解 摘要 最初java是不支持对文本文件的处理的 为了弥补这个缺憾而引入了Reader和Writ
  • Ubuntu下的终端产生多标签和多标签切换快捷键

    ctrl alt t是打开一个terminal ctrl shift t是在terminal中打开多个标签 在多个标签中切换的方法 方法1 alt 1 alt 2 alt 3 方法二 ctrl pageUp ctrl pageDown ct
  • 【vision transformer】DETR原理及代码详解(四)

    本节是 DETR流程及 构建backbone和position embedding 相关部分的代码解析 一 DETR代码流程 STEP 1 Create model and criterion 构建模型和标准 STEP 2 Create t
  • IPv4和IPv6的互操作性

    概述 在IPv4到IPv6发展的过度阶段 必然出现v4和v6主机之间互操作的问题 下面从机制层面讨论互操作的可能性 并假设主机之间网络路由已经打通 IPv4客户端访问IPv6服务端 IPv4客户端访问IPv6服务端指的是服务端是双栈主机 客
  • OpenCV(二)——图像基本处理(二)

    目录 2 图像的几何变换 2 1 图像平移 2 2 图像缩放 2 3 图像旋转 2 4 仿射变换 2 5 透视变换
  • 电脑开机全是英文进不了系统怎么办

    现在工作都离不开电脑 但是有时候电脑罢工了 电脑开机全是英文进不了系统怎么办呢 下面就和大家讲讲电脑开机全是英文进不了系统解决办法吧 装机吧 电脑一键重装系统领域装机大师 重装系统xp win7 win8 win10 win11 怎么能缺少
  • python毕业设计基于django中小学信息技术课程考试系统

    文末获取资源 收藏关注不迷路 文章目录 一 项目介绍 二 主要使用技术 三 研究内容 四 核心代码 五 文章目录 一 项目介绍 通篇文章的撰写基础是实际的应用需要 然后在架构系统之前全面复习大学所修习的相关知识以及网络提供的技术应用教程 以
  • Neo4j 融资 3.25 亿美元,数据库史上最大的一笔投资

    加州圣马提奥 2021年6月17日 Neo4j图形技术的领先者 今天宣布了一轮F系列融资 这是一项3 25亿美元投资的一部分 亚拉齐奥 RF Pa GV 前称谷歌风投 今天的交易代表了对私人数据库公司的最大投资 使Neo4j的估值超过20亿
  • 什么是.NET?什么是.NET Core?.NET和.NET Core区别又是什么呢?

    本文首发于码友网 什么是 NET 什么是 NET Core NET和 NET Core区别又是什么呢 概述 对于 NET平台的初学者来说 有时候比较困惑 什么是 NET 什么是 NET Core NET和 NET Core区别又是什么呢 确
  • 【一句话攻略】彻底理解JS中的回调(Callback)函数

    作为JS的核心 回调函数和异步执行是紧密相关的 也是必须跨过去的一道个门槛 那么究竟什么是回调函数 Callback 其实回调函数并不复杂 明白两个重点即可 1 函数可以作为一个参数在另一个函数中被调用 2 JS是异步编程语言 这就是说JS
  • python-opencv滑动条,cv2滑动条,模糊示例

    cv2的滑动条使用起来其实挺简单的 只需记住两个函数就行 cv2 createTrackbar创建滑动条 cv2 getTrackbarPos获取滑动条当前值 其他要注意的是滑动条的名字以及滑动条创建在哪个窗口上 这个要一一对应 详见下例
  • react源码分析:babel如何解析jsx

    同作为MVVM框架 React相比于Vue来讲 上手更需要JavaScript功底深厚一些 本系列将阅读React相关源码 从jsx gt VDom gt RDOM等一些列的过程 将会在本系列中一一讲解 工欲善其事 必先利其器 经过多年的发
  • 内存泄漏的8种情况(附代码示例)

    一 内存泄漏 memroy leak 严格来说 只有对象不会再被程序用到了 但是GC又不能回收它们的情况 才叫内存泄漏 宽泛的讲 实际情况中很多时候一些不太好的实践会导致对象的生命周期变得很长甚至导致OOM 也叫 内存泄漏 申请了内存用完了
  • C++ - 类中的函数重载

    1 回顾函数重载 gt 函数重载的本质为相互独立的不同函数 gt C 中通过函数名和函数参数确定函数调用 gt 无法直接通过函数名得到重载函数的入口地址 gt 函数重载必然发生在同一个作用域中 2 类中的重载 类中的成员函数可以进行重载 g
  • JNI线程

    作者 左少华 博客 http blog csdn net shaohuazuo article details 43149193 转载请注明出处 http blog csdn net shaohuazuo 1 Android线程介绍 1 线
  • 一个“/”键,封锁了整个互联网

    专栏 九章算法 网址 http www jiuzhang com 正所谓无BUG不生活 从你含辛茹苦地码着第一行代码开始 bug就如影随形 其实 bug 被自己或者是测试人员发现都是好事 但如果是被用户发现 又或者导致了客户和公司的巨额损失
  • 412. Fizz Buzz \ 404. Sum of Left Leaves

    412 法一 class Solution public vector
  • python中好用的库(一)

    python中好用的库 一 时间库 arrow 使用背景 日期时间处理在实际应用场景中无处不在 所以这也成了编程语言中必不可少的模块 Python 也不例外 但是 你知道在Python中有多少个相关的模块吗 datetime time ca
  • 中州韵输入法 linux 小鹤双拼,「Rime 鼠须管」小鹤双拼配置指南

    引言 如何将汉字输入到计算机中是一个编码有关的问题 目前市面上主流的方案包括音码 形码 音形码 和大多数人一样 之前我一直使用全拼 而且得益于 NLP 技术发展 使用搜狗输入法搭配云词库 输入效率可以媲美五笔输入法 但是今天要和大家分享 是
Powered by Hwhale