rime中州韵小狼毫 词组注释 滤镜

news2025/1/11 9:56:11

在rime中州韵小狼毫 联想词组 滤镜一文中,我们通过Filter滤镜功能配置了联想词组的功能,这使得我们在输入一些关键词汇时,可以联想补充一些附加的词组,例如我输入“手机”,就可以联想补充对应的手机号,如下👇:
20240111190214
👆上图中,我们看到候选项手机联想出了3个手机号,这很方便。但这同样存在一个问题,那就是如何获得提示,这3个手机号分别是谁的?如果没有提示,而且这个联想词组不是常用项,那很有可能发生的一件事就是,当我们使用到这个联想词组的时候,例如我们使用到手机号的时候,反而无法分辨每个手机号分别是谁的。

解决方案其实也简单,就是如果我们能在词组的后面,也就是commnet区加入一些提示信息,则这个问题就解决了。如下👇:
20240111190546
这,是不是清晰多了?任何时候,你不用担心有记忆负担。

另外,对于五笔用户来说,尤其对于新手,如果在输入法中可以实时提示每个按键的歌诀,那将是一个十分有用的功能,如下👇:
20240111190817

本文将分享一种在rime中州韵小狼毫须鼠管输入法中使用的词组注释滤镜,该滤镜将实现以上的功能效果。

词组注释字典

那么,首先我们应该知道什么样的词组,应该配什么内容的注释。词组注释字典的目的是提供注释内容和关键词组之间的映射关系。例如对应关键字“123456789AA”,应该增加的注释内容是“张三”。

词组注释字典txt的文档,lua滤镜脚本支持多个txt文档分类管理不同的词组注释。同一个关键词组,是允许进行多重注释的,多重注释将会以换行的形式附加在comment词组的区域内。

词组注释字典文档内支持以符号#开头的行作为注释行,以提升词组管理的便捷性。

词组注释字典文档内的文本分为2列,以tab制表符分隔。第1列为关键词组,关键词组可以有多个,以空格分隔,即允许多个关键词组共享一份注释内容。第2列为注释内容,注释内容只有一份。

phraseComment commonPhrase.txt

phraseComment commonPhrase.txt 文档定义了一般性的词组注释。现阶段 phraseComment commonPhrase.txt 文档内容有以下几类。

一般性的词组注释

这一类词组注释没有明确的分类,如下👇:

王垕	曹操:借汝头一用;汝死后,汝妻子吾自养之,汝勿虑也。
匹夫	皓首匹夫,苍髯老贼。
韶华	看看又是残冬过,满眼韶华一片春。
黄河	九曲黄河万里沙,浪淘风簸自天涯
风 浪 风浪	夫风生于地,起于青苹之末--《风赋》・宋玉
风 浪 风浪	风起于青萍之末,浪成于微澜之间。--今人仿写
龙吟 虎啸	尔乃龙吟方泽,虎啸山丘。--《归田赋》・张衡
病历	汉初著名的内科医生淳于意,是我国最早发明和使用病历的医生
风炮	呜~~~~哒哒哒
二十四节气相关

这一类词组主要对二十节气相关的词组提供了注释,如下👇:

# 24节气相关
节气	春雨惊春清谷天,夏满芒夏暑相连。<br>秋处露秋寒霜降,冬雪雪冬小大寒。
气候	二十四节气,立春始,奇为节,偶为气,为之节气;约15日一节/气,又为5日为一候,3候一节/气,共72候;以上,合曰气候
冬至	冬至之日蚯蚓结,又五日麋角解,又五日水泉动。
小寒	小寒之日雁北乡,又五日鹊始巢,又五日雉始鸲。
大寒	大寒之日鸡使乳,又五日鹫鸟厉疾,又五日水泽腹坚。
立春	立春之日东风解冻,又五日蛰虫始振,又五日鱼上冰(鱼陟负冰)。
雨水	雨水之日獭祭鱼,又五日鸿雁来(候雁北),又五日草木萌动。
惊蛰	惊蛰之日桃始华,又五日仓庚鸣,又五日鹰化为鸠。
春分	春分之日玄鸟至,又五日雷乃发声,又五日始电。
清明	清明之日桐始华,又五日田鼠化为鴽,又五日虹始见。
谷雨	榖雨之日萍始生,又五日鸣鸠拂其羽,又五日戴胜降于桑。
立夏	立夏之日蝼蝈鸣,又五日蚯蚓出,又五日王瓜生。
小满	小满之日苦菜秀,又五日靡草死,又五日小暑至(麦秋生)。
芒种	芒种之日螳螂生,又五日鵙始鸣,又五日反舌无声。
夏至	夏至之日鹿角解,又五日蜩始鸣,又五日半夏生。
小暑	小暑之日温风至,又五日蟋蟀居辟,又五日鹰乃学习(鹰始鸷)。
大暑	大暑之日腐草为蠲,又五日土润溽暑,又五日大雨时行。
立秋	立秋之日凉风至,又五日白露降,又五日寒蝉鸣。
处暑	处暑之日鹰乃祭鸟,又五日天地始肃,又五日禾乃登。
白露	白露之日鸿雁来,又五日玄鸟归,又五日群鸟养羞。
秋分	秋分之日雷始收声,又五日蛰虫培户,又五日水始涸。
寒露	寒露之日鸿雁来宾,又五日雀入大水为蛤,又五日菊有黄华。
霜降	霜降之日豺乃祭兽,又五日草木黄落,又五日蛰虫咸俯。
立冬	立冬之日水始冰,又五日地始冻,又五日雉入大水为蜃。
小雪	小雪之日虹藏不见,又五日天气上腾地气下降,又五日闭塞而成冬。
大雪	大雪之日鹖旦不鸣,又五日虎始交,又五日荔挺生。
五笔歌诀

这一类词组主要定义了86版五笔歌诀,👇如下:

# 五笔输入法相关
g	王旁青头戋五一🖊
f	土士二干(干甘)十寸雨,一二还有革字底🖊
d	大犬石厂套羊底🖊
s	木丁西🖊
a	工戈草头右框七🖊
h	目具上止卜虎皮🖊
j	日早两竖与虫依🖊
k	口与川,字根稀🖊
l	田甲方框四车力🖊
m	山由贝骨下框几🖊
t	禾竹一撇双人立,反文条头共三一🖊
r	白手看头三二斤🖊
e	月彡(衫)乃用家衣底,豹左爱头象舟体🖊
w	人八登祭单人立🖊
q	金夕鸟儿犭边鱼,氏无七🖊
y	言文方广在四一,高头一捺谁人去🖊
u	立辛两点六门病🖊
i	水旁兴头小倒立🖊
o	火业头,四点米🖊
p	之字军盖道建底,摘示(礻)衣(衤)🖊
n	巳满已半不出己,左框折尸心(忄㣺)和羽🖊
b	子耳(阝卩)了也凶乃皮🖊
v	女刀九臼山朝西🖊
c	又(マス)巴马,矣丢失(厶)🖊
x	母衣贯头弓和匕,幼无力🖊

当用户输入的字符通过 inputShow_Filter 滤镜透传到候选列表中后,词组注释滤镜将对这些候选字母进行五笔歌诀的注释,关于inputShow_Filter的配置,请参考 rime中州韵小狼毫 inputShow lua Translator 输入字符透传翻译器 和 rime中州韵小狼毫 inputShow lua Filter 输入字符透传滤镜 两篇博文。

希腊字母注音

这一类词组注释,主要为希腊字母字符提供了英文拼读单词,如下👇:

# 希腊字母读音
Α α	alpha
Β β	beta
Γ γ	gamma
Δ δ	delta
Ε ε	epsilon
Ζ ζ	zeta
Η η	eta
Θ θ	theta
Ι ι	iota
Κ κ	kappa
Λ λ	lambda
Μ μ	mu
Ν ν	nu
Ξ ξ	xi
Ο ο	omicron
Π π	pi
Ρ ρ	rho
Σ σ	sigma
Σ ς	sigma
Τ τ	tau
Υ υ	upsilon
Φ φ	phi
Χ χ	chi
Ψ ψ	psi
Ω ω	omega
汉字注音

这一类词组注释,主要提供了汉字注音和字母拼音之间的对应关系,如下👇:

# 汉字注音
ㄅ ㆴ	b
ㄆ	p
ㄇ	m
ㄈ	f
ㄉ ㆵ	d
ㄊ	t
ㄋ	n
ㄌ	l
ㄍ	g
ㄎ ㆶ	k
ㄏ ㆷ	h
ㄐ	j
ㄑ	q
ㄒ	x
ㄓ	zh
ㄔ	ch
ㄕ	sh
ㄖ	ri
ㄗ	zi
ㄘ	ci
ㄙ	si
ㄧ	i
ㄨ	u
ㄩ	ü
ㄚ	a
ㄛ	o
ㄜ	e
ㄝ	ê
ㄞ	ai
ㄟ	ei
ㄠ	ao
ㄡ	ou
ㄢ	an
ㄣ	en
ㄤ	ang
ㄥ	eng
ㄦ	er
ㄪ	v
ㄫ	ng
ㄬ	gn
Unicode 表情符号注释

这一类词组注释,主要为Unicode表情符号提供了释义注释,如下👇:

# 时钟符号
🕛	12:00
🕧	12:30
🕐	1:00
🕜	1:30
🕑	2:00
🕝	2:30
🕒	3:00
🕞	3:30
🕓	4:00
🕟	4:30
🕔	5:00
🕠	5:30
🕕	6:00
🕡	6:30
🕖	7:00
🕢	7:30
🕗	8:00
🕣	8:30
🕘	9:00
🕤	9:30
🕙	10:00
🕥	10:30
🕚	11:00
🕦	11:30

# 音乐
♩	四分音符
♪	八分音符
♫	八分音符₂
♬	十六分音符
𝄞	g谱号
𝄡	c谱号
𝄢	f谱号
♮	还原
♭	降音
♯	升音

# 天气
☀	晴
☁	阴天
⛅	多云
⛈	雷雨
🌧	雨
❄	雪
🌫	雾

# 星座
♒	宝(水)瓶座
水瓶座	♒
宝瓶座	♒
♓	双鱼座
双鱼座	♓
♈	白羊座
白羊座	♈
♉	金牛座
金牛座	♉
♊	双子座
双子座	♊
♋	巨蟹座
巨蟹座	♋
♌	狮子座
狮子座	♌
♍	室(处)女座
处女座	♍
室女座	♍
♎	天秤座
天秤座	♎
♏	天蝎座
天蝎座	♏
♐	射手座
射手座	♐
♑	摩羯座
摩羯座	♑

# 八卦
☰	乾
乾	☰
☱	兑
兑	☱
☲	离
离	☲
☳	震
震	☳
☴	巽
巽	☴
☵	坎
坎	☵
☶	艮
艮	☶
☷	坤
坤	☷
车牌提示

这一类词组注音,为各省市名称提供了车牌编号的提示,如下👇(此处仅列出了河南省的车牌):

# 车牌提示
牌照 车牌 郑州	豫A/V
牌照 车牌 开封	豫B
牌照 车牌 洛阳	豫C
牌照 车牌 平顶山	豫D
牌照 车牌 安阳	豫E
牌照 车牌 鹤壁	豫F
牌照 车牌 新乡	豫G
牌照 车牌 濮阳	豫J
牌照 车牌 焦作	豫H
牌照 车牌 济源	豫U
牌照 车牌 三门峡	豫M
牌照 车牌 许昌	豫K
牌照 车牌 周口	豫P
牌照 车牌 漯河	豫L
牌照 车牌 商丘	豫N
牌照 车牌 南阳	豫R
牌照 车牌 驻马店	豫Q
牌照 车牌 信阳	豫S
其它语录冷知识

这一类词组注释,主要收藏了一些冷知识和语录诗词,如下👇:

# 冷知识
妈祖	林默娘
阎王	蒋子文
月老	柴道煌
济公	李修缘
无常	范无救(黑无常)<br>谢必安(白无常)
财神	赵公明(文)<br>关羽(武)
土地	张福德
灶王	张奎(灶王爷)<br>高兰英(灶王奶)
玉皇	张百忍
王母	杨回
观音	庄妙善
太白	李长庚

# 春江花月夜
春江 潮水 海上 明月	春江潮水连海平,海上明月共潮生。
春江	滟滟随波千万里,何处春江无月明!
宛转 芳甸 花林	江流宛转绕芳甸,月照花林皆似霰;
流霜 白沙	空里流霜不觉飞,汀上白沙看不见。
江天 一色 纤尘	江天一色无纤尘,皎皎空中孤月轮。
江畔 江月	江畔何人初见月?江月何年初照人?
人生 江月	人生代代无穷已,江月年年望相似。
江月 长江 流水	不知江月待何人,但见长江送流水。
白云 青枫	白云一片去悠悠,青枫浦上不胜愁。
谁家 今夜 相思 明月	谁家今夜扁舟子?何处相思明月楼?
可怜 徘徊 离人	可怜楼上月裴回,应照离人妆镜台。
玉户	玉户帘中卷不去,捣衣砧上拂还来。
相望 相闻 月华	此时相望不相闻,愿逐月华流照君。
鸿雁 鱼龙	鸿雁长飞光不度,鱼龙潜跃水成文。
昨夜 落花 春半	昨夜闲潭梦落花,可怜春半不还家。
江水 江潭 落月	江水流春去欲尽,江潭落月复西斜。
斜月 海雾 碣石 潇湘	斜月沉沉藏海雾,碣石潇湘无限路。
不知 落月	不知乘月几人归,落月摇情满江树。

# 《天道》语录
悟 悟道 修行	悟道休言天命;修行勿取真经。一悲一喜一枯荣,哪个前生注定。<br>袈裟本无清静,红尘不染性空,幽幽古刹千年钟,都是痴人说梦。
功名	本是后山人,偶坐前堂客;醉舞经阁半卷书,坐井说天阔。<br>大志戏功名,海斗量福祸。论到囊中羞涩时,怒指乾坤错。

phraseComment chemicalElement.txt

phraseComment chemicalElement.txt 文档提供了有关化学元素相关的词组注释,多为一些化学元素的典型特征描述,以及一些焰色反应信息,截取展示如下👇:

H h	氢[1](qīng,Hydrogen),[◑H³:12Y]密度最小的元素,同位素为氕、氘和氚
D d	氢[1](dāo,Deuterium),[◑H³:12Y]密度最小的元素,同位素为氕、氘和氚
T t	氚[1](chuān,Tritium),[◑H³:12Y]密度最小的元素,同位素为氕、氘和氚
氢	H[1](qīng,Hydrogen),密度最小的元素,同位素为氕、氘和氚
氕	H[1](piē,Protium),密度最小的元素,同位素为氕、氘和氚
氘	☢H[1](dāo,Deuterium),[◑H²:12Y]密度最小的元素,同位素为氕、氘和氚
氚	☢H[1](chuān,Tritium),[◑H³:12Y]密度最小的元素,同位素为氕、氘和氚
Hydrogen hydrogen	氢[1](qīng,H),密度最小的元素,同位素为氕、氘和氚
Protium protium	氕[1](piē,H),密度最小的元素,同位素为氕、氘和氚
Deuterium deuterium	氘[1](dāo,D/²H),密度最小的元素,可控核聚变,同位素为氕、氘和氚
Tritium tritium	氚[1](chuān,T/³H),[◑H³:12Y]密度最小的元素,同位素为氕、氘和氚
He he	氦[2](hài,Helium),最难液化,稀有气体,由中国学者成功制得氦化合物 氦化钠
氦	He[2](hài,Helium),最难液化,稀有气体,由中国学者成功制得氦化合物 氦化钠
Helium helium	氦[2](hài,He),最难液化,稀有气体,由中国学者成功制得氦化合物 氦化钠
Li li	锂[3](lǐ,Lithium),[🔥紫红]密度小于煤油,用石蜡封存的活泼碱金属,空气中生成黑色氮化锂,可与水反应
锂	Li[3](lǐ,Lithium),[🔥紫红]密度小于煤油,用石蜡封存的活泼碱金属,空气中生成黑色氮化锂,可与水反应
Lithium lithium	锂[3](lǐ,Li),[🔥紫红]密度小于煤油,用石蜡封存的活泼碱金属,空气中生成黑色氮化锂,可与水反应
紫 红 紫红	锂[3](lǐ,Lithium)[🔥紫红]

phraseComment personal.txt

phraseComment personal.txt文档主要为一些个人/私人信息词组提供注释,例如对手机号进行的注释,例如对身份证号进行的注释,再如对邮箱进行的注释等,示例如下👇:

# 这个字典用于管理个人/私人信息,以便在共享/分享rime配置时,可以方便的将个人信息进行隔离
# 常用联系信息
123456789AB	李四
123456789AC	王五
湖南省长春市快乐区开心社区2栋305室	家里

# 常用办公信息
san.zhang@aibaba.com	办公邮箱
浙江省杭州市阿里马马集团2号快递收发室	办公收件

# 常用链接
https://www.myblogs.com	私人博客

如果你与它人分享你的rime输入法的配置方案,phraseComment personal.txt 的存在将使得你可以快速的将个人/私人信息与配置方案进行隔离。

phraseCommentModule.lua

phraseCommentModule.lua 是一个lua脚本文档,phraseCommentModule.lua脚本文档的使用是将以上👆所管理的词组注释加载到lua程序中,并提供合适的检索方法接口,以便rime引擎可以使用联想词功能。phraseCommentModule.lua脚本内容如下👇:

-- phraseCommentModule.lua
-- Copyright (C) 2023 yaoyuan.dou <douyaoyuan@126.com>

local sysInfoEnable, sysInfo = pcall(require, 'sysInfo')

local logEnable, log = pcall(require, "runLog")
if logEnable then
	log.writeLog('')
	log.writeLog('log from phraseCommentModule.lua')
	log.writeLog('sysInfoEnable:'..tostring(sysInfoEnable))
end

local currentDir = sysInfo.currentDir

--将这附串拆散成 table
local function stringSplit(str,sp,sp1)
	sp=(type(sp)=="string") and sp or " "
	if 0==#sp then
		sp="([%z\1-\127\194-\244][\128-\191]*)"
	elseif 1==#sp then
		sp="[^"..(sp=="%" and "%%" or sp).."]*"
	else
		sp1=sp1 or "^"
		str=str:gsub(sp,sp1)
		sp="[^"..sp1.."]*"
	end
	
	local tab={}
	for v in str:gmatch(sp) do
		if ''~=v then
			table.insert(tab,v)
		end
	end
	return tab
end

local function files_to_lines(...)
	local tab=setmetatable({},{__index=table})
	local index=1
	for i,filename in next,{...} do
		local fn = io.open(filename)
		if fn then
			for line in fn:lines() do
				if not line or #line > 0 then
					tab:insert(line)
				end
			end
			fn:close()
		end
	end
	
	return tab
end

local function dictload(...) -- filename)
	local lines=files_to_lines(...)
	local dict={}
	local dictkeysCnt={} --用于记录每个key的值出现的次数
	local randomNum = 0
	local thisNum = 0
	for i,line in next ,lines do
		if not line:match("^%s*#") then  -- 第一字 # 为注释行
			local keys,val = string.match(line,"(.+)\t(%C+)")
			if nil ~= keys and nil ~= val then
				local keyList = stringSplit(keys,' ')
				for idx=1,#keyList do
					local key = keyList[idx]
					if nil ~= key then
						if nil ~= dict[key] then
							--如果该key已经存在,
							if false then
								--等概率顶替处理
								thisNum = dictkeysCnt[key] + 1
								dictkeysCnt[key] = thisNum
								
								--生成一个伪随机数
								randomNum = math.random()
								--判断是否需要顶替
								if randomNum * thisNum < 1 then
									dict[key] = val
								end
							else
								--换行处理
								dict[key] = dict[key]..'<br>'..val
							end
						else
							dict[key] = val
							dictkeysCnt[key] = 1
						end
					end
				end
			end
		end
	end
	
	dictkeysCnt = {}  --清空dictkeysCnt,释放内存
	return dict
end

-- Module
local M={}
local dict={}
local function getVal(s)
  return dict[s]
end

function M.init(...)
	local files={...}
	--文件名不支持中文
	--其中 # 开始的行为注释行
	table.insert(files,"phraseComment commonPhrase.txt")
	table.insert(files,"phraseComment chemicalElement.txt")
	table.insert(files,"phraseComment personal.txt")
	
	for i,v in next, files do
		files[i] = currentDir().."/".. v
	end
	dict= dictload(table.unpack(files))
	
	M.getVal=getVal
end

M.init()

return M

👆以上脚本中,我们在M.init() 方法中看到了联想词组字典的加载方法:table.insert(files,"phraseComment commonPhrase.txt"),你如果有其它的词组注释字典,你也可以很方便的加载它们。

phraseCommentModule.lua 脚本提供了一个名为getVal方法,该方法可以根据指定的关键词组,从联想词组字典对象dict中检索并返回对应的联想词组。

phraseComment_Filter.lua

phraseComment_Filter.lua脚本实现了匹配rime引擎的Filter滤镜,phraseComment_Filter.lua脚本定义并返回了phraseComment_Filter滤镜方法,phraseComment_Filter.lua脚本内容如下👇:

-- phraseComment_Filter.lua
-- Copyright (C) 2023 yaoyuan.dou <douyaoyuan@126.com>
local logEnable, log = pcall(require, 'runLog')

local phraseCommentModuleEnable, phraseCommentModule = pcall(require, 'phraseCommentModule')
local getVal = phraseCommentModule.getVal

local ok, utf8String = pcall(require, 'utf8String')

if logEnable then
	log.writeLog('')
	log.writeLog('log from phraseComment_Filter.lua:')
	log.writeLog('phraseCommentModuleEnable:'..tostring(phraseCommentModuleEnable))
end

--最长的comment长度限制
local maxLenOfComment = 250

local function phraseComment_Filter(input, env)
	--获取选项评论开关状态
	local on = env.engine.context:get_option("phraseComment")
	
	for cand in input:iter() do
		if on then
			local candTxt = cand.text:gsub("%s","") or ""
			local thisComment = cand.comment
			
			if candTxt ~= "" then
				--获取字典释义
				thisComment = getVal(candTxt)
				if nil == thisComment then
					thisComment = cand.comment
				else
					--成功获取了释义,下面进行一些格式化处理
					--替换 <br> 为换行符
					thisComment = thisComment:gsub("<br>","\r")
					--替换 &nbsp 为空格
					thisComment = thisComment:gsub("&nbsp"," ")
					--需要限制释义长度为 maxLenOfComment
					thisComment = string.sub(thisComment, 1, maxLenOfComment)
					--去除首尾空格 和 符号
					thisComment = utf8String.utf8PunctuationsTrim(thisComment)
				end
				
				if cand.comment ~= "" then
					if thisComment ~= cand.comment then
						if utf8.len(cand.comment) < 5 then
							if '💡' == cand.comment then
								thisComment = cand.comment..thisComment
							else
								thisComment = cand.comment..'✔'..thisComment
							end
						else
							thisComment = cand.comment..'\r💡'..thisComment
						end
					end
				end
			end
			cand:get_genuine().comment = thisComment
		end
		yield(cand)
	end
end

return phraseComment_Filter

👆以下脚本代码中,我们可以看到一组开关状态获取代码,如下👇:
20240111223859
phraseComment开头在F4/F8调出的rime方案选单里,如下👇;这使得我们可以在不需要的时候,关闭词组注释滤镜。
20240111224055

💣注意:
以上👆所述文档 phraseComment commonPhrase.txtphraseComment chemicalElement.txtphraseComment personalphraseCommentModule.luaphraseComment_Filter.lua5个文档,应该位于 用户文件夹下的 lua 文件夹内,如下👇:
20240111224306

rime.lua

rime.lua脚本的内容如下👇:

help_translator = require("help")
inputShow_translator = require("inputShow")
inputShow_Filter = require("inputShow_Filter")
Upper_Filter = require("Upper_Filter")
dic_4w_Filter = require("dic_4w_Filter")
phraseReplace_Filter = require("phraseReplace_Filter")
pinyinAdding_Filter = require("pinyinAdding_Filter")
dateTime_Filter = require("dateTime_filter")
dynamicPhrase_Filter = require("dynamicPhrase_Filter")
phraseExt_Filter = require("phraseExt_Filter")
phraseComment_Filter = require("phraseComment_Filter")

👆述脚本,在最后一行中,我们加载了phraseComment_Filter滤镜。

wubi_pinyin.custom.yaml

以上, 我们完成了 phraseComment_Filter 滤镜的所有的功能定义,我们现在需要做的就是在我们的输入方案中配置使用该 phraseComment_Filter 滤镜。此处以五笔・拼音输入方案为例,展示如何配置使用 phraseComment_Filter 滤镜。

五笔・拼音 输入方案的方案文档 wubi_pinyin.schema.yaml 的补丁文档 wubi_pinyin.custom.yaml中,我们增加如下的Filters配置:

# encoding:utf-8
patch:
  switches/+: #增加以下开关
    - name: phraseComment			# 候选词注释开关
      reset: 1
      states: [Off, commentOn]
  engine/filters:									# 设置以下filter
    - simplifier
    # 上面的滤镜会减少或者改变候先词选项
    - uniquifier									# 过滤重复候选项,依赖 simplifier
    # 下面的滤镜是comment滤镜,不会改变候选项列表
    - lua_filter@phraseComment_Filter				# 短语释义

注意,以上👆配置并不是wubi_pinyin.custom.yaml的全部配置,此处仅展示了与phraseComment_Filter有关的部分。

文档获取

👆以上所述配置文档,你可以在 rime中州韵小狼毫须鼠管输入法 词组注释滤镜配置包.zip 下载取用。

如果你可以访问gitHub,你也可以在 dyyRime 中找到完全版本的配置包。

小结

文章分享了一种在rime中州韵小狼毫须鼠管输入法中配置词组注释滤镜的方法。通过分别在phraseComment commonPhrase.txtphraseComment chemicalElement.txtphraseComment personal.txt三个文档中分类整理定义了不同的词组注释内容,然后在phraseCommentModule.lua.luaphraseComment_Filter.lua两个脚本文档中实现了phraseComment_Filter 滤镜功能。最后以五笔・拼音输入方案为例,展示了如何在 五笔・拼音 输入方案中配置使用 phraseComment_Filter 滤镜的方法,最实现了预期的功能效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1375053.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言通过ODBC函数操作Access数据库(mdb和accdb格式)(char字符数组)

编译环境&#xff1a;Windows XP Visual Studio 2010 数据库&#xff1a;Access 2010&#xff0c;accdb格式 本例程只使用char[]字符数组&#xff0c;不使用wchar_t[]字符数组&#xff0c;更适合C语言初学者。 如果读取字符串时&#xff0c;提供的字符数组空间小了&#xff0c…

Airtest-Selenium实操小课:爬取新榜数据

1. 前言 最近看到群里很多小伙伴都在用Airtest-Selenium做一些web自动化的尝试&#xff0c;正好趁此机会&#xff0c;我们也出几个关于web自动化的实操小课&#xff0c;仅供大家参考~ 今天跟大家分享的是一个非常简单的爬取网页信息的小练习&#xff0c;在百度找到新榜网页&am…

【C初阶——指针4】鹏哥C语言系列文章,基本语法知识全面讲解——指针(4)

本文由睡觉待开机原创&#xff0c;转载请注明出处。 本内容在csdn网站首发 欢迎各位点赞—评论—收藏 如果存在不足之处请评论留言&#xff0c;共同进步&#xff01; 这里写目录标题 前言1.回调函数2.qsort函数的使用3.qsort函数的模拟实现 思路大纲&#xff1a; 前言 本节博…

嵌入式培训机构四个月实训课程笔记(完整版)-Linux系统编程第十天-Linux下mplayer音乐播放器练习题(物联技术666)

更多配套资料CSDN地址:点赞+关注,功德无量。更多配套资料,欢迎私信。 物联技术666_嵌入式C语言开发,嵌入式硬件,嵌入式培训笔记-CSDN博客物联技术666擅长嵌入式C语言开发,嵌入式硬件,嵌入式培训笔记,等方面的知识,物联技术666关注机器学习,arm开发,物联网,嵌入式硬件,单片机…

【每日一题】2696. 删除子串后的字符串最小长度-2024.1.10

题目&#xff1a; 2696. 删除子串后的字符串最小长度 给你一个仅由 大写 英文字符组成的字符串 s 。 你可以对此字符串执行一些操作&#xff0c;在每一步操作中&#xff0c;你可以从 s 中删除 任一个 "AB" 或 "CD" 子字符串。 通过执行操作&#xff0c…

Element|Upload结合Progress实现上传展示进度条

背景 &#xff1a; 项目里的 附件上传 题型组件&#xff0c;用户在上传过程中&#xff0c;如果文件较大&#xff0c;上传过程较慢&#xff0c;而又没有一个类似 Loading... 的加载过程的话&#xff0c;会显得干愣愣的&#xff0c;用户体验较差&#xff0c;所以需要添加一个进度…

Springboot+vue的毕业论文管理系统(有报告)。Javaee项目,springboot vue前后端分离项目

演示视频&#xff1a; Springbootvue的毕业论文管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot vue前后端分离项目 项目介绍&#xff1a; 本文设计了一个基于Springbootvue的前后端分离的毕业论文管理系统&#xff0c;采用M&#xff08;model&…

JWT---JSON Web Token

JSON Web Token是什么 JSON Web Token (JWT)是一个开放标准(RFC 7519)&#xff0c;它定义了一种紧凑的、自包含的方式&#xff0c;用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任&#xff0c;因为它是数字签名的。 JSON Web Token的结构是什么样的 JSON…

Handsfree_ros_imu:ROS机器人IMU模块ARHS姿态传感器(A9)Liunx系统Ubuntu20.04学习启动和运行教程

这个是篇学习 Handsfree_ros_imu 传感器的博客记录 官方教程链接见&#xff1a; https://docs.taobotics.com/docs/hfi-imu/ 产品功能 IMU 内有 加速度计&#xff0c;陀螺仪&#xff0c;磁力计这些传感器&#xff0c;通过固定 imu 到物体上后&#xff0c;可以获取物体在运动…

登录模块的实现

一.前期的准备工作 1.页面的布局 (1)表单的校验: 利用element-ui提供的文档绑定rules规则后实现校验 (2)跨域的配置 &#xff1a; 利用proxy代理来解决跨域的问题 (3)axios拦截器的配置 两个点:1. 在请求拦截的成功回调中,如果token,因为调用其它的接口需要token才能调取。 在请…

锤科HandShaker修改版,支持安卓14、澎湃OS

如今几乎各家手机厂商都在布局生态&#xff0c;但PC端往往是最容易被忽略的一环&#xff0c;哪怕是很强的华为鸿蒙、小米澎湃&#xff0c;想要做到手机和电脑互联&#xff0c;也限制了笔记本机型 虽然我一直致力于解锁非小米电脑安装小米电脑管家&#xff0c;比如前几天刚刚更…

在WindowsServer2012中部署war项目

目录 前言 一.jdk安装 二.Tomact安装 三.MySQL安装 ​编辑​编辑​编辑​编辑​编辑​编辑​编辑 四.开放端口号 MySQL开放端口号 Tomact开放端口号 ​编辑 五.项目部署 1.将war放置在tomact中 2.配置项目sql脚本 3.最终效果 前言 安装Java开发工具包&#xff08…

【设计模式-02】Strategy策略模式及应用场景

一、参考资料 Java 官方文档 Overview (Java SE 18 & JDK 18)module indexhttps://docs.oracle.com/en/java/javase/18/docs/api/index.html Java中使用到的策略模式 Comparator、comparable Comparator (Java SE 18 & JDK 18)declaration: module: java.base, pa…

构建免费的Dokan和WooCommerce构建线上课程市场在线销售数字课程

我们知道创建良好的学习说明和材料很困难。但当涉及到销售时&#xff0c;就变得更加困难。如果您无法出售您的课程&#xff0c;那么没有什么比这更令人沮丧的了。 幸运的是&#xff0c;如果您使用的是 WordPress 网站&#xff0c;那么您可以非常轻松且免费地完成此操作。借助L…

java SSM物业管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM物业管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和 数据库&#xff0c;系统主要采用B/…

2024.1.11 Kafka 消息队列,shell命令,核心原理

目录 一 . 消息队列 二. Kafka 三 . 启动命令 四 . Kafka的Shell 命令 五 . Kafka的核心原理 1. Topic的分区和副本机制 2 . 消息存储机制 和 查询机制 3. Kafka中生产者数据分发策略 六 . Kafka 之所以具有高速的读写性能&#xff0c;主要有以下几个原因 七. 笔记…

指导AI进行推理:提示工程如何弥补RAG系统中的差距

每日推荐一篇专注于解决实际问题的外文,精准翻译并深入解读其要点,助力读者培养实际问题解决和代码动手的能力。 欢迎关注公众号(NLP Research) 原文标题:Instructing AI to Reason: How Prompt Engineering Bridges the Gap in RAG Systems 原文地址:https://medium.c…

vscode配置Todo Tree插件

一、在VSCode中安装插件Todo Tree ​​​​ 二、按下快捷键ctrlshiftP&#xff0c;输入setting.jspn 选择相应的配置范围&#xff0c;我们选择的是用户配置 Open User Settings(JSON)&#xff0c;将以下代码插入其中。 //todo-tree 标签配置从这里开始 标签兼容大小写字母(很…

MoE模型性能还能更上一层楼?一次QLoRA微调实践

Fine-Tuning Mixtral 8x7B with QLoRA&#xff1a;Enhancing Model Performance &#x1f680; 编者按&#xff1a;最近&#xff0c;混合专家(Mixture of Experts,MoE)这种模型设计策略展现出了卓越的语言理解能力&#xff0c;如何在此基础上进一步提升 MoE 模型的性能成为业界…

React 18中新钩子 useDeferredValue 使用

React是一个流行的用于构建用户界面的JavaScript库,它不断发展以为开发人员提供优化性能的工具。 React 18中引入的此类工具之一是useDeferredValue钩子,它旨在通过优先渲染更新来提高应用程序的性能。 useDeferredValue钩子是什么? useDeferredValue钩子是React性能优化工…