谨慎引入新欢。但对markdown确实很方便。
全部配置见我的 dotfiles
本来打定主意只用各终端自带的输入法了,但是写markdown的代码部分,需要反引号,不停切换中英文真是要疯。本来一直在键盘映射上动脑筋,最后发现鼠须管可以自定义映射按键:输出字符
,这个方便不止提升一点点。
所以配置一下。网上教程很多了已经,这里只挑我配置时卡住的点记录一下。
配置文件
初始卡在,==我以为自己写的配置文件都在同一个文件里。但其实不是。== 它分了好几类配置,每一种配置都要写在相应的文件里,写错地方没反应。
最终自己自定义创建的文件包括这四个:
~/Library/Rime/ # 一般rime的mac中路径就是这个
├── squirrel.custom.yaml # 第一个修改的文件,配置相当于输入法的框的主题皮肤样式,以及指定应用默认的配置(like iterm2就想默认英文)。
├── default.custom.yaml # 第二个配置的文件,这个里面设置快捷键、输入法等等。
├── luna_pinyin.custom.yaml # 本来只想配通用设置,不想针对某个输入法,但有几个关键的配置必须放在这里面,其他地方不起作用
└── symbols.yaml # 最后发现按键映射可以写这里,还是尽量挪到通用配置文件里。
鼠须管文件的命名规律类似于:文件名.yaml
对应的用户自定义文件叫 文件名.custom.yaml
,加了个custom。
用户自定义文件的优先级更高,会覆盖默认版。默认版一般在 <rootpath>/build/
里,custom版就在<rootpath>/
下。
用法
mac可参考。
安装好了以后,没有直接出现在输入法那栏。而是【我还重启了一次】,要打开系统设置 → 键盘 → 输入法的编辑 → 点+
,在简体中文那里。点添加。
然后会出现一条横list让你选,这里面这些乱七八糟的都是输入法的名字。我就删的剩一个了,就是明月拼音。
选择对应的序号就进入下级菜单,这里面黑点的字就是当前正用的,灰字就是可以换,点序号就直接换了。我当前的设置就是:简体、半角、中文。
我的样式是上面这样的是因为我配置了
# ~/Library/Rime/default.custom.yaml
patch:
schema_list: # 其他输入法都删了,有个雾凇拼音蛮火,等熟悉下rime再试。
- schema: luna_pinyin # 朙月拼音
switcher:
hotkeys: # 叫出这个配置的快捷键。grave就是反引号的键。
- F3
- Alt+grave
caption:
"【设置菜单】" # 把默认的繁体名字改成简体了
menu:
page_size: 9 # 候选字数
以及
# ~/Library/Rime/squirrel.custom.yaml
patch:
style: # 修改程序外观
horizontal: true # 候选词是否横排
#font_face: Hei # 字体
font_point: 16 # 候选词大小
inline_preedit: false # 輸入碼內嵌
color_scheme: clean_white # 这个选择列表在 ~/Library/Rime/build/squirrel.yaml 里选
❗️然后改完任何配置需要重新部署,才会生效。遗憾我还没找到设置重新部署的快捷键,所以每次都在它的图标里点。谁知道这个可以告诉我🥀
语法
自定义文件里的配置都要写在patch:
后,但symbols.yaml
好像不用。
就像我第一个上手改的,把候选列表改成横的
# ~/Library/Rime/squirrel.custom.yaml
patch:
style: # 修改程序外观
horizontal: true # 候选词是否横排
其次要注意的是,这个分级可以合并,比如上面可以写成 style/horizontal:
,但是有比较复杂的触发条件,但是分开换行写,是所有都可以适用,所以我一律分开换行写。
还有一个是变量和值不用引号都可以,不分什么string,int的,很自由。比如
key_binder:
bindings:
- { accept: equal, send: Page_Down, when: has_menu } # Tab 向下翻页
特殊配置
其实这样就已经可以了。我就留了abc和鼠须管,默认切换就用mac默认的caps。然后鼠须管内部中英文切换用shift,一般就用shift就够了。
然后到很好用的地方:
鼠须管默认中文下,仍然可以自由置换全角和半角。没意外都用半角,是因为==英文也有全角==,打出来字母之间空的特别大的那种英文,一般没人用。而在中文下,也会需要输入英文,空格强制上屏。所以一般都用半角。
* 上屏意思就是,输入拼音,出现一排候选,选择某个词,它就打到屏幕上。
鼠须管且还可以设置,按下一个键,出现一排候选,选择某个之后,才上屏它。有时候这样比较方便,有时候就需要直接上屏,不要多一个选择的步骤,比如说markdown常用的反引号。这些都可以设置。
最后我的部分个人设置:
# ~/Library/Rime/custom_symbols.yaml
punctuator:
symbols:
";fh": [❗️, 💢, 💡, ⌘, ⌥, ⎋, , ♂, ♀]
";jt": [→, ➜, ☞, ➡︎, ←, ☜, ⬅︎, ↑, ☝︎, ⬆︎, ↓, ☟, ⬇︎,↔︎, ⇄, ⬌, ↕︎, ⇅, ⬍, ↖, ↘]
";dc": [√,✔,✅, ✕,✖, ❌]
";sx": ["±", "÷", "≠","≈", "∞", "≤", "≥", "≦", "≧", "㏑", "㏒", "∫"]
full_shape:
"#": "#"
"`": "`"
"/": ["、", "、", "/", "/", "÷"]
"@": ["@", "¥", "÷", "°", "‰", "℉", "©", "®"]
half_shape:
"#": "#"
"`": "`"
"+": "+"
"=": "="
"/": "/"
"_": "——"
"~": "~" #["~", "~"]
'\': ['\', "、"]
".": "。" # ["。", "."]
",": "," # [",", ","]
"?": "?"
"!": "!"
":": ":" #[":", ":"]
";": [";", ";"]
"(": "(" #{pair: ["(", ")"]} # ["(", "("]
")": ")" # [")", ")"]
这里面symbols
,就是一些常用词,用快捷输入绑定;
全角full_shape
随便设设,半角half_shape
是通常边用变设的。写代码常用的""(code),"#"(注释),"/"(注释),"~"(shell的$HOME)等等都确定直接上屏。 其他句号什么的看顺手度,比如句号中文的更常用,就设了中文句号,如果要用英文句号就shift一下;问号感叹号还没用多,暂时半角版先,如果要用中文的再快捷键(自己设)切全角。 这中间可能有多次调整。比如中文破折号用了一下,发现各种切换都找不到,就先映射了半角的
—映射
——,但是后面发现markdown列list要用
—,就改了
shift+减号即
_映射为
——`。
以及{pair},是按两次出现第二个,而不是按一次同时出现俩,个人感觉不太好用。
还有两个要特别设置的。
一是反引号不能直接上屏。用鼠须管就是冲着能自由用反引号来的,这个不能直接上屏对我就没意义了。后来查到反引号是被它用做什么反编译的先置符号了。这个取消设置是在:
# ~/Library/Rime/luna_pinyin.custom.yaml
patch:
【一些别的】
recognizer/patterns/reverse_lookup: {} # 这一行
二是rime唤出特殊符号表情那些,快捷键是/
+自定义字符。因此/
映射的时候,不能设置为直接上屏,需要有多于一个候选词,否则就轮不到后面自定义字符跟它组合,就直接确定了。但是❗️,/
在代码里很常用的,路径、注释什么的经常打,所以我换了不太常用的;
,改这个的地方找了好久,最后是在:
# ~/Library/Rime/luna_pinyin.custom.yaml
patch:
【一些别的】
recognizer:
patterns:
reverse_lookup: {}
punct: "^;([0-9]0?|[A-Za-z]+)$" # 这个是正则表达式。^;的意思就是以;开头。
差不多就这么多。恰好关键的这两个设置,都必须设置在特定的输入法中,我当前用的默认的明月,所以就没办法又开了一个luna_pinyin.custom.yaml
配置文件。之后试其他输入方案雾凇拼音之类的再配。
全局办公运行方案
因为我有dotfiles,存了一份上述四个文件在dotfiles/Rime
下。安装路径~/Library/Rime
下又有一份,这样同步又是问题。每次本地更改之后还要传到dotfiles里,传上git给其他地方用。
一开始就写了个脚本,每次cp,类似cp *.yaml $RIME_PATH/
。傻了几天自问为什么不用软链??
然后把脚本改成ln -s $PWD/$rfile $RIME_PATH/$rfile
。
不怕说出低级语法错误,① 自定义path千万不能直接定义成PATH
;② 软链的path必须是绝对路径,所以rfile前必须加$PWD
。
todo
自定义词,什么表情词典,都还没设,其他输入方案也没试,就已经挺丝滑了(除了丝滑这个词)。其他就之后再试吧。
目前有一个bug,因为把;
设成了快捷词组前置符号,所以按;
键会出现两个候选项,like:
1.; 2.;
但是我又设置了;123456789的映射,所以直接选2,选不上;
,而是出现;2
的候选表。
目前选;
还罢了,可以直接空格。选;
只能用箭头。
只多设了tab移动光标缓解一下。
安卓手机安装的坑
手机安装需要安装两个东西。一个是rime本身的安装文件,一个是输入法。它的安装文件竟没有安装任何输入法。所以下两个github链的文件,一个安装文件,一个明月输入法的全部配置文件。
我的坑是,把输入法的配置文件挑了几个自以为重要的复制进去了,结果发现无法运行。最后发现需要把下载的东西全copy进去才生效。不知道没拷哪个导致错误了……回头再研究这个吧。
参考
感觉写的比较好的几个参考文章:
https://www.hawu.me/others/2666
https://sh.alynx.one/posts/My-RIME-2/
https://www.xiebruce.top/1235.html