奉送原甫侍讀出守永興
嘉祐五年
歐陽修酌君以荊州魚枕之蕉
贈君以宣城鼠鬚之管
酒如長虹飲滄海
筆若駿馬馳平坂
受君尚少力方豪
嗟我久衰歡漸鮮
文章驚世知名早
意氣論交相得晩
魚枕蕉
一舉十分當覆盞
鼠鬚管
爲物雖微情不淺
新詩醉墨時一揮
別後寄我無辭遠
这首诗应该就是「鼠须管」的出处吧
奉上一张用「小鹤双拼·语句流」输入的效果,中英混输 + Emoji 表情哦
就一条理由就可以弃用使用 N 多年的其它输入法
1. https://github.com/lotem/squirrel
Rime 官网 https://code.google.com/p/rimeime/
下载点 Downloads 或者使用 Homebrew Cask 来安装(截至到今天版本非最新)
brew cask install squirrel
刚安装好,拼音输入是繁体的,按组合键 `Ctrl+`` 呼出输入法方案选单(如下),切换为「汉字」就可以输入简体了
自行查看《Rime 定製指南 | rimeime》
以下是我对官网说明书的一些摘录,加上我的一些修改,只限于对拼音输入的理解
如果你用的是小鹤双拼,可以直接看下文《详细配置「小鹤双拼·语句流」》,介绍的是「小鹤双拼·语句流」的配置
共享资料夹:“/Library/Input Methods/Squirrel.app/Contents/SharedSupport/”
用户资料夹:“~/Library/Rime/”
编译输入方案所产生的二进制文件:
记录用户写作习惯的文件:
以及用户自己设定的:
注:以上标有「※ 号」和「粗体」的文件,包含用户资料,您在清理文件时要注意备份!
新建文件 touch ~/Library/Rime/default.custom.yaml
, 内容如下
# default.custom.yaml, 全局生效 # 添加小鹤双拼到方案选单 patch: schema_list: - schema: double_pinyin_flypy # 新增小鹤双拼 - schema: luna_pinyin - schema: cangjie5 - schema: luna_pinyin_fluency - schema: luna_pinyin_simp - schema: luna_pinyin_tw
比如定制小鹤双拼
新建文件 touch ~/Library/Rime/double_pinyin_flypy.custom.yaml
# double_pinyin_flypy.custom.yaml, 只对小鹤双拼生效 patch: translator/preedit_format: {} # 输入双拼码的时候不转化为全拼码
配置好之后需要「重新部署」:切换到「鼠须管」输入法,点击右上角的的输入法图标,点击「重新部署」
之后就可以用小鹤双拼了
# 适用于【鼠须管】0.9.13+ # 位置:~/Library/Rime/squirrel.custom.yaml # 用法:想要哪项生效,就删去该行行首的 "#" 字符,但注意保留用于缩进的空格 patch: # us_keyboard_layout: true # 键盘选项:应用美式键盘布局 # 状态通知,适当,也可设为全开(always)全关(never) # show_notifications_when: appropriate # # style/color_scheme: luna # 选择配色方案 # style/horizontal: true # 候选窗横向显示 # style/inline_preedit: false # 关闭内嵌编码,这样就可以显示首行的拼音 # style/corner_radius: 10 # 窗口圆角半径 # style/border_height: 0 # 窗口边界高度,大于圆角半径才有效果 # style/border_width: 0 # 窗口边界宽度,大于圆角半径才有效果 # style/line_spacing: 1 # 候选词的行间距 # style/spacing: 5 # 在非内嵌编码模式下,预编辑和候选词之间的间距 # style/font_face: "Hiragino Sans GB W3" # 字体名称 # style/font_point: 21 # 字号 # 注:预设的配色方案及代码(指定为 style/color_scheme ) # 碧水 - aqua # 青天 - azure # 明月 - luna # 墨池 - ink # 孤寺 - lost_temple # 暗堂 - dark_temple # 星际我争霸 - starcraft # 谷歌 - google # 晒经石 - solarized_rock # 简约白 - clean_white
⌃ + BackSpace
或 ⇧ + BackSpace
Shift + Fn + Delete
⌃ + p
⌃ + n
⌃ + b
⌃ + f
⌥ + v
⌃ + v
⌃ + a
⌃ + e
⌃ + h
⌃ + d
⌃ + g
有时候快捷键可能会用不了,那是因为其它应用首先获取了快捷键,这样输入法就不会影响你对其它软件的控制
可以参考 default.yaml 和相应输入法方案的配置(比如 double_pinyin_flypy.schema.yaml)
比如在 default.yaml 中看到
punctuator: half_shape: "/": ["、", "/", "/", "÷"]
意思是当你输入 “/” 的时候,会出现上面列表中的候选
若你想让 “/键” 直接输出 “、”,可以做如下修改
# double_pinyin_flypy.custom.yaml patch: punctuator/full_shape: "/": "、" punctuator/half_shape: "/": "、"
如果你的用的输入方案导入了 symbols.yaml, 你就可以参考 symbols.yaml 文件来修改了, 里面还有各种特殊符号
这还有个用法,你可以将一个键或多个键专门用于输入自定义的词组比如
# double_pinyin_flypy.custom.yaml patch: punctuator/half_shape: "+": "+_+"
当你输入 “+” 的时候就会变成 “+_+" 了
在一些程序里很少需要输入中文,于是让鼠须管在这些程序里默认不开启中文输入
要自定义 Mac 应用程序的初始转换状态, 首先查看应用的 Info.plist 文件得到该应用的 Bundle Identifier, 通常是形如 com.apple.Xcode 的字符串
例如,要在 Xcode 里面默认关闭中文输入,又要在 Alfred 2 里面恢复开启中文输入,可如此设定:
# squirrel.custom.yaml patch: app_options/com.apple.Xcode: ascii_mode: true app_options/com.runningwithcrayons.Alfred-2: {}
修改之前先查看以下 squirrel.yaml 文件,默认设置了一些常用的软件
# default.custom.yaml # # 可用的按键有 Caps_Lock, Shift_L, Shift_R, Control_L, control_R # Mac 系统上的鼠须管不能区分左、右,因此只有对 Shift_L, Control_L 的设定起作用 # # 已输入编码时按切换键,可以进一步设定输入法中西文切换的形式 # 可选的临时切换策略有三: # inline_ascii 在输入法的临时西文编辑区内输入字母、数字、符号、空格等,回车上屏后自动复位到中文 # commit_text 已输入的候选文字上屏并切换至西文输入模式 # commit_code 已输入的编码字符上屏并切换至西文输入模式 # 设为 noop, 屏蔽该切换键 # # 如果要把Caps Lock 设为只改变字母的大小写而不做中西文切换,可将 Caps_Lock 对应的切换方式设为 noop # 如果要以Caps Lock 切换到西文模式,默认输出小写字母,请置 ascii_composer/good_old_caps_lock: false # 如果要以Caps Lock 切换到西文模式,默认输出大写字母,请置 ascii_composer/good_old_caps_lock: true patch: ascii_composer/good_old_caps_lock: true ascii_composer/switch_key: Caps_Lock: noop Shift_L: commit_code Shift_R: noop Control_L: noop Control_R: noop
# default.custom.yaml patch: key_binder/bindings: - when: paging accept: bracketleft send: Page_Up - when: has_menu accept: bracketright send: Page_Down
# default.custom.yaml patch: menu/page_size: 5
来张 15 个候选的靓照
# double_pinyin_flypy.custom.yaml patch: translator/enable_user_dict: false
目前鼠须管没有图形工具,使用命令行工具也是一样的
先做一些准备工作
新建文件 touch ~/Library/Rime/rime_dict_manager
, 输入如下内容
DYLD_LIBRARY_PATH="/Library/Input Methods/Squirrel.app/Contents/Frameworks" "/Library/Input Methods/Squirrel.app/Contents/MacOS/rime_dict_manager" $@
然后添加可执行权限
chmod +x ~/Library/Rime/rime_dict_manager
进入用户资料夹 (~/Library/Rime/), 执行相关操作
查看用户词典列表
./rime_dict_manager -l
先关闭输入法,释放以独占方式打开的词典文件
killall Squirrel
将词库导入
./rime_dict_manager -i dict_name import.txt
将词库导出
./rime_dict_manager -e dict_name export.txt
应该导入到系统词库,方法:固态词典引用多份码表文件
详细解释请看《〔新手推荐敎程〕关于导入词库及「深蓝词库转换」的正确操作方法 | rime 吧》
感谢词库制作者,下载词库点击《朙月拼音擴充詞庫 | Rime 翰林院》
导入方法(以「小鹤双拼·语句流」输入方案,extend_dictionaries20131121.rar 词库文件为例):
修改定制文件
patch:
translator/dictionary: luna_pinyin.extended
将
luna_pinyin.hanyu.dict.yaml
luna_pinyin.extended.dict.yaml
luna_pinyin.poetry.dict.yaml
这三个词库文件移动到用户资料夹 “~/Library/Rime/”
重新部署
编辑 installation.yaml 文件,添加一行:
sync_dir: '/Users/username/Dropbox/sync/Rime'
首先简单介绍一下语句流
玩法是:空格断词,回车和标点上屏
令输入码直接上屏:输入的时候切换为西文编码,然后回车上屏
对用户来说优点很明显,整句输入真的很爽,中英文混输很方便
对输入法来说,它能知道你输入的更多信息,使你输入更爽快
效果图在最上面,点这里乘电梯
在「小鹤双拼」的基础上进行修改
cp /Library/Input\ Methods/Squirrel.app/Contents/SharedSupport/double_pinyin_flypy.schema.yaml ~/Library/Rime/double_pinyin_flypy_fluency.schema.yaml
不同的地方基本都有说明
# double_pinyin_flypy_fluency.schema.yaml # Rime schema # encoding: utf-8 schema: schema_id: double_pinyin_flypy_fluency # 更改方案标识 name: 小鶴雙拼·語句流 version: "fluency_0.17" author: - double pinyin layout by 鶴 - Rime schema by 佛振 <chen.sst@gmail.com> description: | 「朙月拼音+小鶴雙拼」語句流方案。 以空格分詞、標點或回車上屏。 dependencies: - stroke # 带别名的 translator 所引用的字典部署时不会自动编译 - chinese_contain_english # 只有 translator/dictionary: 指定的字典会被编译 - emoji # 因此需要设置输入方案的依赖关系,保证词典可用 switches: - name: ascii_mode reset: 0 states: [ 中文, 西文 ] - name: full_shape states: [ 半角, 全角 ] - name: ascii_punct states: [ ,。, ,. ] - name: simplification states: [ 漢字, 汉字 ] engine: processors: - ascii_composer - recognizer - key_binder - speller - punctuator - selector - navigator - fluency_editor # 语句流必需,编辑器,处理空格、回车上屏、回退键等 segmentors: - ascii_segmentor - matcher - abc_segmentor - punct_segmentor - fallback_segmentor translators: - punct_translator - reverse_lookup_translator - script_translator - table_translator@chinese_contain_english # 添加码表式副翻译器 - table_translator@custom_phrase # 同上 - table_translator@emoji # 同上 filters: - simplifier - uniquifier speller: alphabet: zyxwvutsrqponmlkjihgfedcba delimiter: " '" algebra: - erase/^xx$/ - derive/^([jqxy])u$/$1v/ - derive/^([aoe])([ioun])$/$1$1$2/ - xform/^([aoe])(ng)?$/$1$1$2/ - xform/iu$/Q/ - xform/(.)ei$/$1W/ - xform/uan$/R/ - xform/[uv]e$/T/ - xform/un$/Y/ - xform/^sh/U/ - xform/^ch/I/ - xform/^zh/V/ - xform/uo$/O/ - xform/ie$/P/ - xform/i?ong$/S/ - xform/ing$|uai$/K/ - xform/(.)ai$/$1D/ - xform/(.)en$/$1F/ - xform/(.)eng$/$1G/ - xform/[iu]ang$/L/ - xform/(.)ang$/$1H/ - xform/ian$/M/ - xform/(.)an$/$1J/ - xform/(.)ou$/$1Z/ - xform/[iu]a$/X/ - xform/iao$/N/ - xform/(.)ao$/$1C/ - xform/ui$/V/ - xform/in$/B/ - xlit/QWRTYUIOPSDFGHJKLZXCVBNM/qwrtyuiopsdfghjklzxcvbnm/ #- abbrev/^(.).+$/$1/ translator: dictionary: luna_pinyin prism: double_pinyin_flypy_fluency # 由拼写运算规则产生的拼写映射表的名称 # 去掉了 preedit_format:, 作用是输入双拼码的时候不转化为全拼码 # 中英文混输的时候,可补全英文,并在英文两边加上半角空格 # 例如:我爱 Rime 输入法 chinese_contain_english: dictionary: chinese_contain_english # 用户自定义词典,可直接编辑文件 "~/Library/Rime/custom_phrase.txt" # db_class: stabledb 指定词典格式为文本码表格式(文字<TAB>编码<TAB>权重(可选)) custom_phrase: dictionary: "" user_dict: custom_phrase db_class: stabledb enable_completion: false enable_sentence: false initial_quality: 1 # 可直接输入 Emoji 表情编码来输入表情 emoji: dictionary: emoji reverse_lookup: dictionary: stroke enable_completion: true prefix: "`" suffix: "'" tips: 〔筆畫〕 preedit_format: - xlit/hspnz/一丨丿丶乙/ comment_format: - xform/([nl])v/$1ü/ punctuator: import_preset: symbols # 导入 symbols.yaml, 用于输入特殊符号 key_binder: import_preset: default recognizer: import_preset: default patterns: number: "^[-+]?[0-9][.:0-9]*[%]?$" punct: "^/[0-9]*[a-z]*$" # 配合特殊符号的输入 reverse_lookup: "`[a-z]*'?$"
因「小鹤双拼·语句流」输入方案依赖 “chinese_contain_english” 输入方案, 如果不创建的话 chinese_contain_english 词典无法被编译
创建简单版本即可 touch ~/Library/Rime/chinese_contain_english.schema.yaml
, 内容如下:
# chinese_contain_english.schema.yaml # Rime schema # encoding: utf-8 schema: schema_id: chinese_contain_english name: 英文 version: "0.1" description: 为了配合「小鹤双拼·语句流」输入方案 engine: processors: - speller # 把字母追加到编码串 - selector # 选字、换页 - navigator # 移动插入点 - express_editor # 空格确认当前输入、其他字符直接上屏 segmentors: - abc_segmentor # 标记输入码的类型 translators: - echo_translator # 没有候选项时,创建一个与编码串一个模样的候选项 - table_translator # 码表式转换 translator: dictionary: chinese_contain_english # 设定 table_translator 使用的词典名
touch ~/Library/Rime/chinese_contain_english.dict.yaml
内容如下:
# chinese_contain_english.dict.yaml # Rime dictionary # encoding: utf-8 # # 中英文混输的时候有用 --- name: chinese_contain_english version: "0.1" sort: by_weight use_preset_vocabulary: false ... Rime rime Android android Apple apple Mac mac Windows windows # ...
需要注意的是:Rime rime
之间要有 tab,其它的类似,词典格式是如此
完整的文件内容请看:https://gist.github.com/mwum/931e306e2ae8bd32b169
首先创建对全局的用户定制文件
touch ~/Library/Rime/default.custom.yaml
然后编辑该文件
# default.custom.yaml # Rime default settings # encoding: utf-8 patch: schema_list: - schema: double_pinyin_flypy_fluency # 新增「小鶴雙拼·語句流」 - schema: luna_pinyin - schema: cangjie5 - schema: luna_pinyin_fluency - schema: luna_pinyin_simp - schema: luna_pinyin_tw key_binder/bindings: # 以方括号换页 - when: paging accept: bracketleft send: Page_Up - when: has_menu accept: bracketright send: Page_Down ascii_composer/good_old_caps_lock: true # 中西文切换快捷键 ascii_composer/switch_key: Caps_Lock: noop Shift_L: inline_ascii Shift_R: noop Control_L: noop Control_R: noop
见上文《外观设定》
见上文《导入扩充词库》
见上文《同步用户资料》
参考:
Rime 心情集 | rimeime
說明書 | rimeime
Rime 定製指南 | rimeime
Rime 輸入方案設計書 | rimeime
雪齋的文檔 | GitHub
预备发布一个新版本【小狼毫】0.9.21 | rime 吧
〔新手推荐敎程〕关于导入词库及「深蓝词库转换」的正确操作方法 | rime 吧