博客:https://www.mintimate.cn Mintimate’s Blog,只为与你分享
Rime/小狼毫/鼠须管是强大的开源输入法。但是,如何快速地在Linux、macOS以及Windwos上快速配置它呢?让我们一起来看看。
Rime/中州韵是开源跨平台输入法框架,不同平台客户端不同:
一些特点:
关于Lua在Rime内如何使用,可以参考:librime-lua、librime-lua/wiki;也可以看看Rime的项目地址集合
接下来,我们就来看看如何安装,以及如何配置和快速使用
有些小伙伴觉得为什么要折腾输入法呢?
哈哈,这个问题其实就是问喜欢android刷机的小伙伴,为什么要折腾手机root一样。
如果你觉得折腾后,可以锦上添花,或者让输入法更契合你的喜好,让你打字更快、更舒服;亦或者,就是想体验新鲜事;再或者,希望自己的打字习惯,不要流到厂商的大数据等等,都可以尝试折腾一下。
生命不息,折腾不止。
反之,如果你觉得现在用的输入法,已经完全够用;或者已经非常习惯,当然没必要折腾。
记得我当时问一个鹅厂小伙伴:
所以,如果你也想折腾,或者对现在的输入法不满;可以玩玩看看~
首先我们看看如何安装Rime,主要讲解三大平台:Linux(Debian/Ubuntu)、macOS和Windows。
其他平台,暂不涉及(如: 一些爱好者,适配到Android手机上)。
本章节内容,可以参考官网进行安装: https://rime.im/download/
Linux上,方法很多。我们可以用框架直接部署,常见的框架:
具体可以参考官方项目的文档:RimeWithIBus
我这里就用台Debian的虚拟机作为演示。
首先,从Debian8(Debian Jessie)开始,官方apt源内就已经有ibus-rime
的软件包;所以,我们这里直接进行安装即可:
sudo apt install ibus-rime
安装好以后,注销用户并重新登录(你也可以选择重启设备);之后,就可以在设置内激活我们的ibus-rime
了:
到此,rime就安装完成了:
它的配置文件地址为: ~/.config/ibus/rime/
接下来,我们看看macOS如何进行安装。
首先,下载最新版本鼠须管: https://github.com/rime/squirrel/releases/latest
之后进行安装即可:
需要注意,安装好后,同样需要注销用户重新登录。之后,就可以添加我们的Rime鼠须管:
它的配置文件地址: ~/Library/Rime/
最后,我们看看Windwos如何安装。
其实,Windows,作为使用人数最多的操作系统,安装是最简单的。
下载最新版本的小狼毫: https://github.com/rime/weasel/releases/latest
当然,安装过程中;建议自定义用户的配置文件地址,比如:
它的配置文件地址: %APPDATA%\Rime
(默认)
打开我们的Rime,使用过程中。你会发现,它应该是这样的:
乍一看,有一些问题:
为了进一步现代化。我们这里对其进行配置。
默认情况下的配置文件(配置文件存放在配置目录下;如果不存在,可以手动创建):
文件 | 注释 |
---|---|
default.custom.yaml | 核心配置、全局配置 |
squirrel.custom.yaml / weasel.custom.yaml / ibus_rime.yaml | 平台相关配置。样式皮肤,不同软件默认输入法状态等。 |
<方案标识>.custom.yaml | 输入方案的定制配置 |
<名称>.dict.yaml | 词典 |
custom_phrase.txt | 自定义短语 |
优先级上:
输入方案的定制配置 > 核心配置、全局配置 > 系统自带的default.yaml
举个例子,你使用明月拼音
,那么输入方案的定制配置就是:lua_pinyin.custom.yaml
首先,Rime是如何运用个性化配置呢?很简单,用户在修改配置目录内的文件,这个只是临时修改,而真正要生效,就需要Rime重新进行部署操作。
在执行部署操作后,Rime会进行编译,将用户的自定义内容(包括词典),编译到配置目录内的build
文件夹内。
部署编译,基本上三大系统是一样的:
需要注意,Windows上,选择方案,可以可视化操作部分default.custom.yaml
选项。右键小狼毫图标就可以选择了:
在学习配置前。我们看看如何选择方案。
我们可以使用热键进行方案切换,热键默认是Ctrl + ~
或F4
:
其中F4
比较容易冲突,那么可以进行修改.
直接配置default.custom.yaml
里的hotkeys
"switcher/hotkeys":
- "Control+grave"
而可以激活的方案,一是default.custom.yaml
里的schema_list
比如上图内,macOS的配置:
schema_list:
- {schema: terra_pinyin}
- {schema: luna_pinyin_simp}
还有一部分,就是输入法的配置文件,比如:
switches:
- name: ascii_mode
reset: 0
states: [ 中文, 英文 ]
- name: emoji_suggestion
reset: 0
states: [ "😣️","😁️"]
- name: full_shape
states: [ 半角, 全角 ]
- name: simplification
reset: 1
states: [ 繁体, 简体 ]
- name: ascii_punct
states: [ 。,, ., ]
如果你需要更改上述文件,记得更改之后,重新部署。
样式上面,我们需要进入rime的配置文件地址内。上文其实已经提及,需要注意的是,Windows用户可以直接右键打开:
macOS其实也一样可以:
Linux可能还是要比较辛苦一下,直接编辑~/.config/ibus/rime
内的文件。
而配置样式,就是配置配置文件目录下的样式配置文件即可。不过,发行版本的rime,样式配置文件是不一样的:
squirrel.custom.yaml
文件;weasel.custom.yaml
文件;ibus_rime.yaml
文件。为什么文件里都带个
custom
呢?实际上,带custom
的配置文件,会在rime重新编译部署后,替换系统自带的不带custom
的配置文件内容,如:squirrel.custom.yaml
替换squirrel.yaml
。
首先我们看看如何横排显示。squirrel.custom.yaml
和weasel.custom.yaml
只需要添加
patch
"style/horizontal": true # 横向展示
需要注意,这里使用的是
Yaml
格式,根节点是patch
,标记为追加内容;style
为一级节点,horizontal
为二级节点。
另外,需要注意;Rime的缩进敏感。在没设置好编辑器缩进情况下,不建议用Tab
键直接进行缩进。(比如:Vscode的缩进,**Tab
**有时候是四个空格,有时候为两个。)
比如:Windows上编辑weasel.custom.yaml
文件:
之后的效果:
而Linux上的ibus_rime.yaml
文件,因为系统本身并没有ibus_rime.yaml
与之对应。所以就不用加上custom
;在文件内,也不需要加上patch
根节点:
style:
horizontal: true # 横向展示
网上有小伙伴说,直接建立
ibus_rime.custom.yaml
并在其中加上根节点patch
也会覆盖。但是我这个版本并没有用……
之后,重新部署。一般就可以看到效果了:
重新部署后,build
内就会有新的配置文件被创建了:
当然,我们还可以设置Rime的输入法配色。不过需要注意:Linux上受限于ibus框架,所以Linux上的ibus-rime无法更改配色;但是,如果你Linux可以更改ibus的配色,那么可以尝试更改ibus框架样式,比如: ibus Tweaker
以下介绍小狼毫和鼠须管如何配置。
打开配置文件(squirrel.custom.yaml
/weasel.custom.yaml
),在patch
节点下增加内容:
"preset_color_schemes/MyStyleMi":
name: MyStyleMi
author: Mintimate <"Mintimate's Blog">
text_color: 0x6495ed #拼音串
candidate_text_color: 0x424242 # 非第一候选项
back_color: 0xefefef # 背景
border_color: 0xefefef # 边框
hilited_text_color: 0xed9564 # 拼音串高亮
hilited_back_color: 0xefefef # 拼音串高亮背景
hilited_candidate_back_color: 0xed9564 # 第一候选项背景
hilited_candidate_text_color: 0xefefef # 第一候选项
hilited_comment_text_color: 0xefefef # 注解文字高亮
comment_text_color: 0xcac9c8 # 注解文字
label_color: 0xcac9c8 # 预选栏编号颜色
其中,颜色部分,使用16进制进行表示;和**#
**开头的16进制比,如果颜色为#ed9564
,那么转为0x
开头就是ed和64互换:0x6495ed
。
添加"style/color_scheme"
选项(macOS还可以设置"style/color_scheme_dark"
用于暗色模式)激活:
"style/color_scheme": MyStyleMi
# macOS下暗色模式(MyStyleMiDark需要另外配置)
"style/color_scheme_dark": MyStyleMiDark
同时,可以设置候选词的大小、窗口半径等等:
"us_keyboard_layout": true
"style/display_tray_icon": true
"style/font_face": "PingFang"
"style/font_point": 16
"style/label_font_point": 12 # 候选词数字大小
"style/horizontal": true # 横向展示
"style/inline_preedit": false # 内嵌预编辑
"style/corner_radius": 15 # 窗口圆角半径
"style/layout/border": 0 # 窗口边界高度,大于圆角半径才有效果
"style/layout/border_width": 0 # 窗口边界宽度,大于圆角半径才有效果
"style/layout/candidate_spacing": 12
"style/layout/hilite_padding": 8
"style/layout/hilite_spacing": 3
"style/layout/margin_x": 8
"style/layout/margin_y": 8
"style/layout/round_corner": 7
"style/layout/spacing": 10
之后,重新部署。即可看到效果:
接下来,我们看看输入的基础配置。比如:候选词有几个、激活什么组件等。
首先是候选词,这次可不再是squirrel.custom.yaml
/weasel.custom.yaml
/ibus_rime.yaml
了。它们是样式的。这次我们配置输入的。
以全局输入配置为例,我们在patch
节点下添加:
"menu/page_size": 9 # 候选词个数
之后,重新部署即可看到效果:
与此同时,rime默认切换输入法是Shift`,原因是默认配置是这样的:
patch:
ascii_composer/good_old_caps_lock: true
ascii_composer/switch_key:
Caps_Lock: commit_code
Control_L: noop
Control_R: noop
Shift_L: commit_code
Shift_R: commit_code
解释一下:
选项 | 注释 |
---|---|
commit_text | 提交候选区的文字,然后切换到英文模式。 |
commit_code | 提交已输入的编码(拼音字母),然后切换到英文模式。 |
inline_ascii | 仅样式配置内存在 |
noop | 不执行任何操作。 |
clear | 清除已输入的编码,然后切换到英文模式。 |
你也可以自己设置,比如我设置的:
patch
"ascii_composer/good_old_caps_lock": true
"ascii_composer/switch_key":
Caps_Lock: commit_code
Control_L: noop # 不做任何操作
Control_R: noop # 不做任何操作
Shift_L: commit_code
Shift_R: inline_ascii
所以,我的配置就是这样的:
到此,基础配置完毕。以上部分出现的一些配置没讲解,将在后文拆解(当然,不可能拆解透彻,建议多配合官方文档:https://github.com/rime/home/wiki)
接下来,我们看看进阶部分的配置。本章节默认大家已经入门rime了,部分步骤不再详细演示。
我们的输入法,还没有完全“认识”我们。不知道我们先输入什么词汇?
所以,我们需要给他词汇表,让它背下来~
引入词汇,首先是在default.custom.yaml
引入配置:
# 开启用户词典功能
"translator/enable_user_dict": true
之后,创建当前输入法的定制文件。比如我使用的是明月拼音-简s s化字
,所以创建:luna_pinyin_simp.custom.yaml
。
在其中添加内容:
# encoding: utf-8
patch:
'translator/dictionary': custom_dict.all
其中:
custom_dict.all
: 为字典总表文件。对应就是配置文件目录内custom_dict.all.dict.yaml
。这个可以直接自定义。接下来,我们再创建它,并添加内容:
---
name: custom_dict.all ##注意name和文件名一致
version: "2020.6.7"
sort: by_weight
use_preset_vocabulary: true
# 此处为 输入法所用到的词库,既补充拓展词库的地方
import_tables:
- luna_pinyin # 系统基础字库
- dicts/luna_pinyin.chaizi # 拆字词库
- dicts/custom_simple # 自定义
- dicts/luna_pinyin.sougou # 搜狗词库
- dicts/luna_pinyin.xiandaihanyu # 现代汉语词典
- dicts/se_words # 互联网网络词汇
- dicts/luna_pinyin.biaoqing # 表情
- dicts/luna_pinyin.emoji # emoji Ext
...
import_tables
下,除了luna_pinyin
文件,都在dicts
对应配置文件目录dicts
(也是自己创建),举个例子:dicts/luna_pinyin.chaizi
就对应配置文件夹dicts/luna_pinyin.chaizi.dict.yaml
比如我的:
至于词库字典内容,就需要你直接添加到dicts
文件,并追加到custom_dict.all.dict.yaml
文件内了。相当于custom_dict.all.dict.yaml
文件是总管,输入法的定制文件考虑是否要启动这个班组。
我们的字典文件应该是长这样:
其中,表头为解析声明。name
需要与文件截取掉.dict.yaml
后一样,否则无法扫描到:
---
name: luna_pinyin.sougou
version: "2023.01.08"
sort: by_weight
use_preset_vocabulary: true
...
而下面文件就是txt
的文本格式了。获取可以使用:
借助上述的字典操作,我们可以扩展出颜文字。绑定键盘vv
键,呼出颜文字:
参考至rime-settings获得的颜文字字典:
如何输入符号呢?比如这样的:
亦或者这样:
在或者这样的:
其实,也是十分简单。我们只需添加symbol选项即可(反查),在输入法的选项内,添加:
patch:
punctuator/import_preset: symbols
recognizer/patterns/punct: '^/([0-9]0?|[A-Za-z]+)$'
具体支持的内容,可以查看:
哈哈,有时候经常分不清翘舌。所以总是需要模糊拼音一下。其实添加的方法,官方也写的很详细:
简单来说,就是打开输入法的.custom.yaml
文件,在patch
根节点下,添加'speller/algebra'
节点。
比如:
'speller/algebra':
- erase/^xx$/
- derive/^([zcs])h/$1/ # zh, ch, sh => z, c, s
- derive/^([zcs])([^h])/$1h$2/ # z, c, s => zh, ch, sh
- derive/([aei])n$/$1ng/ # en => eng, in => ing
- derive/([aei])ng$/$1n/ # eng => en, ing => in
- derive/([iu])an$/$lang/ # ian => iang, uan => uang
- derive/([iu])ang$/$lan/ # iang => ian, uang => uan
- derive/([aeiou])ng$/$1gn/ # dagn => dang
- derive/([dtngkhrzcs])o(u|ng)$/$1o/ # zho => zhong|zhou
- derive/ong$/on/ # zhonguo => zhong guo
- derive/ao$/oa/ # hoa => hao
- derive/([iu])a(o|ng?)$/a$1$2/ # tain => tian
- abbrev/^([a-z]).+$/$1/ #简拼(首字母)
- abbrev/^([zcs]h).+$/$1/ #简拼(zh, ch, sh)
需要注意,简拼
配置,一定要在最后。否则会出现意想不到的效果哦,<( ̄︶ ̄)↗
# 这两个要在最后
- abbrev/^([a-z]).+$/$1/ #简拼(首字母)
- abbrev/^([zcs]h).+$/$1/ #简拼(zh, ch, sh)
本章节更进一步,谈谈Rime的高级配置。
时间组件,其实就是用Lua
的脚本。如果之前有看过我Lvim的教程的小伙伴,应该会比较熟悉。
Rime也是支持Lua的脚本插件。最终实现的效果:
rime的Lua的适配,可以参考:
这里直接说一下现成的使用,首先是在配置目录内创建rime.lua
文件,类似与我们之前创建的custom_dict.all.dict.yaml
。并在其中写入:
time_translator = require("time")
date_translator = require("date")
紧接着,我们创建在配置文件目录创建Lua
文件夹,并在其中创建与上文对应的time.lua
和date.lua
文件:
date.lua
写入信息:
--lua语言中的注释用“--”
local function translator(input, seg)
if (input == "date") then
------------------------------------------------------------------------------------
--普通日期1,类似2022年01月02日
date1=os.date("%Y年%m月%d日")
date_y=os.date("%Y") --取年
date_m=os.date("%m") --取月
date_d=os.date("%d") --取日
--yield(Candidate("date", seg.start, seg._end, date1, " "))
------------------------------------------------------------------------------------
--普通日期2,类似2022年1月1日
num_m=os.date("%m")+0
num_m1=math.modf(num_m)
num_d=os.date("%d")+0
num_d1=math.modf(num_d)
date2=os.date("%Y年")..tostring(num_m1).."月"..tostring(num_d1).."日"
yield(Candidate("date", seg.start, seg._end, date2, " "))
------------------------------------------------------------------------------------
--普通日期3,类似1月1日
num_m=os.date("%m")+0
num_m1=math.modf(num_m)
num_d=os.date("%d")+0
num_d1=math.modf(num_d)
date3=tostring(num_m1).."月"..tostring(num_d1).."日"
yield(Candidate("date", seg.start, seg._end, date3, " "))
yield(Candidate("date", seg.start, seg._end, os.date("%Y/%m/%d"), " "))
yield(Candidate("date", seg.start, seg._end, os.date("%Y-%m-%d"), " "))
------------------------------------------------------------------------------------
--大写日期,类似二〇二〇年十一月二十六日
date_y=date_y:gsub("%d",{
["1"]="一",
["2"]="二",
["3"]="三",
["4"]="四",
["5"]="五",
["6"]="六",
["7"]="七",
["8"]="八",
["9"]="九",
["0"]="〇",
})
date_y=date_y.."年"
date_m=date_m:gsub("%d",{
["1"]="一",
["2"]="二",
["3"]="三",
["4"]="四",
["5"]="五",
["6"]="六",
["7"]="七",
["8"]="八",
["9"]="九",
["0"]="",
})
date_m=date_m.."月"
if num_m1==10 then date_m="十月" end
if num_m1==11 then date_m="十一月" end
if num_m1==12 then date_m="十二月" end
date_d=date_d:gsub("%d",{
["1"]="一",
["2"]="二",
["3"]="三",
["4"]="四",
["5"]="五",
["6"]="六",
["7"]="七",
["8"]="八",
["9"]="九",
["0"]="",
})
date_d=date_d.."日"
if num_d1>9 then
if num_d1<19 then
date_d="十"..string.sub(date_d,4,#date_d)
end
end
if num_d1>19 then date_d=string.sub(date_d,1,3).."十"..string.sub(date_d,4,#date_d) end
date4=date_y..date_m..date_d
yield(Candidate("date", seg.start, seg._end, date4, " "))
------------------------------------------------------------------------------------
--英文日期
local date_d=os.date("%d")
local date_m=os.date("%m")
local date_y=os.date("%Y")
local date_m1=""
local date_m2=""
if date_m=="01" then
date_m1="Jan."
date_m2="January"
end
if date_m=="02" then
date_m1="Feb."
date_m2="February"
end
if date_m=="03" then
date_m1="Mar."
date_m2="March"
end
if date_m=="04" then
date_m1="Apr."
date_m2="April"
end
if date_m=="05" then
date_m1="May."
date_m2="May"
end
if date_m=="06" then
date_m1="Jun."
date_m2="June"
end
if date_m=="07" then
date_m1="Jul."
date_m2="July"
end
if date_m=="08" then
date_m1="Aug."
date_m2="August"
end
if date_m=="09" then
date_m1="Sept."
date_m2="September"
end
if date_m=="10" then
date_m1="Oct."
date_m2="October"
end
if date_m=="11" then
date_m1="Nov."
date_m2="November"
end
if date_m=="12" then
date_m1="Dec."
date_m2="December"
end
if date_d=="0" then
symbal="st"
elseif date_d=="1" then
symbal="nd"
elseif date_d=="2" then
symbal="rd"
else
symbal="th"
end
date5=date_m1.." "..date_d..symbal..", "..date_y
date6=date_m2.." "..date_d..symbal..", "..date_y
yield(Candidate("date", seg.start, seg._end, date5, " "))
yield(Candidate("date", seg.start, seg._end, date6, " "))
yield(Candidate("date", seg.start, seg._end, os.date("%Y%m%d"), " "))
end
end
------------------------------------------------------------------------------------
return translator
time.lua
写入信息:
--lua语言中的注释用“--”
local function translator(input, seg)
if (input == "time") then --关键字更改,你也可以用or语句定义多个关键字
yield(Candidate("time", seg.start, seg._end, os.date("%H:%M"), " "))
yield(Candidate("time", seg.start, seg._end, os.date("%H点%M分"), " "))
yield(Candidate("time", seg.start, seg._end, os.date("%H:%M:%S"), " "))
yield(Candidate("time", seg.start, seg._end, os.date("%H点%M分%S秒"), " "))
end
end
return translator
最后,在配置文件内。激活插件:
engine/translators:
- lua_translator@date_translator
- lua_translator@time_translator
Emoji之前是挺麻烦的。现在官方出来Emoji opencc,就简单很多了。
参考:https://github.com/rime/rime-emoji
首先是下载其中的opencc
文件到本地配置文件夹目录内:
之后,我们对单个输入发进行配置:
patch:
# 设置切换
switches:
- name: ascii_mode
reset: 0
states: [ 中文, 英文 ]
- name: emoji_suggestion
reset: 0
states: [ "😣️","😁️"]
- name: full_shape
states: [ 半角, 全角 ]
- name: simplification
reset: 1
states: [ 繁体, 简体 ]
- name: ascii_punct
states: [ 。,, ., ]
# 激活设置
engine/filters:
- simplifier@emoji_suggestion
- simplifier@zh_simp # 简体过滤
- simplifier # 简体
- uniquifier # rime基础驱动
# 定义
emoji_suggestion:
opencc_config: emoji.json
option_name: emoji_suggestion
用明月拼音,你会发现?怎么无法中英输入?
其实,是可以通过补丁的方式,支持我们的英文单词输入。参考:
我们需要做的,是把easy-en
作为明月输入发的扩展,扩展到明月拼音等输入法内。
只需要将easy_en.schema.yaml
、easy_en.dict.yaml
、easy_en.yaml
和lua/easy_en.lua
复制到 rime 配置目录。
最后,在输入法的配置项内激活即可,比如:明月拼音-简化版
(luna_pinyin_simp.custom.yaml):
patch:
__include: easy_en:/patch
某些特殊方案需要指定方案名称,如微软双拼:
patch:
__include: easy_en:/patch_double_pinyin_mspy
最后,重新部署,即可看到效果:
其实,你还可以基于模版,开发自己的输入法模版样式。
当然,定制前…… 可以看看官方自带的是怎么写的:
在配置目录内创建一个名字以.schema.yaml
结尾的配置文件。之后,在其中按照官方的模版配置即可。其中的内容包括:
其中的描述部分:
schema:
schema_id: luna_pinyin
name: 明月拼音-定制版
version: "9.0"
author:
- Mintimate <mintimate215@gmail.com>
description: |
基于Rime预设的拼音方案。
之后的引擎参考:
engine: # 输入引擎设定,即挂接组件的“处方”
processors: # 一、这批组件处理各类按键消息
- ascii_composer # ※ 处理西文模式及中西文切换
- recognizer # ※ 与 matcher 搭配,处理符合特定规则的输入码,如网址、反查等
- key_binder # ※ 在特定条件下将按键绑定到其他按键,如重定义逗号、句号爲候选翻页键
- speller # ※ 拼写处理器,接受字符按键,编辑输入码
- punctuator # ※ 句读处理器,将单个字符按键直接映射爲文字符号
- selector # ※ 选字处理器,处理数字选字键、上、下候选定位、换页键
- navigator # ※ 处理输入栏内的光标移动键
- express_editor # ※ 编辑器,处理空格、回车上屏、回退键等
segmentors: # 二、这批组件识别不同内容类型,将输入码分段
- ascii_segmentor # ※ 标识西文段落
- matcher # ※ 标识符合特定规则的段落,如网址、反查等
- abc_segmentor # ※ 标识常规的文字段落
- punct_segmentor # ※ 标识句读段落
- fallback_segmentor # ※ 标识其他未标识段落
translators: # 三、这批组件翻译特定类型的编码段爲一组候选文字
- echo_translator # ※ 没有其他候选字时,回显输入码
- punct_translator # ※ 转换标点符号
- script_translator # ※ 脚本翻译器,用于拼音等基于音节表的输入方案
- reverse_lookup_translator # ※ 反查翻译器,用另一种编码方案查码
filters: # 四、这批组件过滤翻译的结果
- simplifier # ※ 繁简转换
- uniquifier # ※ 过滤重複的候选字,有可能来自繁简转换
具体定制,可以参考官方的Demo:
最后,给大家分享一下我的配置。支持Linux、Windows和macOS:
特点,已经配置:
软件工程
、计算机
等专业词汇明月拼音-简化字
只需要下载并移动文件到配置目录,重新部署即可:
通常情况下,如果是字典等内容,配置了但是没有生效。一般是格式错误。尤其是rime对yaml的格式极其严格。建议:
Tab
键进行缩进第二点是为什么呢?举个例子。
在字典文件内,我们使用Tab
进行词与字符的分隔。使用Tab
应该是这样的(macOS上纯文本编辑):
但是在Xcode、Vscde上的Tab
默认会自动转义为四个空格:
这个时候重新部署就是没有用的了。
如果有时候,重新部署 错误。或者设置的配置没生效,想要查看日志怎么办?
其实Rime是有日志服务的,不同版本Rime的日志存放地址是:
%TEMP%
$TEMPDIR
/tmp
比如macOS的:
本次文章参考多方文档和教程:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。