如何配置敲分号后进入临时英文?
rime吧
全部回复
仅看楼主
level 7
三国lz 楼主
找了很多地方,最后只发现这个地方提到的配置比较接近https://gist.github.com/lotem/3076166可是也正如 Igotit 所说,这么敲出来上屏后,分号也会上屏,这很尴尬。
提一个思路,能不能增强一下这个功能,比如以下配置
recognizer/patterns:
semicolon: "^;(.*)$"
使用正则匹配,最后上屏的内容是正则里第1个捕获组的内容(第0个是整个输入内容),这样的话,就能实现分号临时英文的功能。大家也能相应配置成其他更丰富的规则。
2018年04月21日 07点04分 1
level 2
请问您搞定了分号切换英文功能了吗?
2018年05月01日 13点05分 2
没有
2018年05月06日 02点05分
level 10
如果我没理解错楼主的意思,现有的功能已经可以实现了。
挂一个这样的segmentor
en_only:
tag: en_only
prefix: ";" #以分号作为纯英文的开头
suffix: ";" #另一个分号结束纯英文输入
加上recognizer:
'recognizer/patterns/en_only': ';[A-Za-z\-]*;?'
然后在 engine/segmentors 里把 affix_segmentor@en_only 放在 punct_segmentor 前面(放在后面可能会标点自动上屏)。
如果想加入英文的候选和补全可以在“en_only:”里加入:
dictionary: 你的英文词典名
enable_completion: true #开启自动补全
并且在 engine/translators 里加上 table_translator@en_only 这个翻译器
当然也可以选择把 tag 挂在 reverse_lookup 上。
2018年05月06日 11点05分 3
具体怎么写编码?指点下,谢谢。
2018年05月06日 15点05分
感谢,中午休息时我试试
2018年05月07日 02点05分
能不能麻烦你给出你实现这个功能的完整配置文件,由于接触rime还不久,还不太熟练,我自己配置的实现不了[汗]
2018年05月07日 04点05分
level 10
patch: # custom 中加入以下:
engine/segmentors:
- ascii_segmentor
- matcher
- abc_segmentor
# schema&custom 中已有的其他 segmentor
- affix_segmentor@en_only
# 这一部分是为了把 affix_segmentor@en_only 放在 punct_segmentor 前面
- punct_segmentor
- fallback_segmentor
# schema&custom 中已有的其他 segmentor
engine/translators:
__include: '方案名.schema:/engine/translators'
__append:
# custom 中已有的其他 translator
- table_translator@en_only
en_only:
tag: en_only
dictionary: 自己的英文词典名 # 候选词典,这行可不加
enable_completion: true # 自动补全,这行可不加
prefix: ";" # 以分号作为纯英文的开头
suffix: ";" # 另一个分号结束纯英文输入
recognizer/patterns/en_only: ';[A-Za-z\-]*;?'
上面有图,缩进别弄错了。
2018年05月07日 11点05分 4
2018年05月07日 11点05分
2018年05月07日 13点05分
2018年05月08日 05点05分
level 7
三国lz 楼主
@金冠CROWN
呃,我不知道是我配置有问题还是什么情况,使用您提供的配置好像不是我要的,我想再给您说一下我的需求。
分号临时英文这个功能大多数五笔输入法都有提供,是方便五笔输入过程中,偶尔出现的英文输入操作才提供的(因为拼音类型的输入法,没有码长的限制,所以他们可以敲一个单词后直接回车上屏,但五笔最多四码,所以不行)。我们是希望汉字打完上屏后,敲一下分号就进入临时的英文输入状态,此时再敲abc什么的没有码长限制,并且最后回车时上屏这些英文(第一次分号不上屏),上屏后自动回到正常的五笔输入。
2018年05月08日 13点05分 5
level 10
@三国lz 我不太了解五笔,但是试了一下应该是可以的。
方案:五笔86
更改:在rime默认配置基础上,除了英文输入的配置外只改了这里:
输入分号后:
但是试验的时候,我看 rime wubi86 的默认分词符是 " ;'" (空格+分号+单引号),所以
打分
号后是可能被识别为用于断字而使以上功能失效。我把分词符改为了 " '" (空格+单引号)之后就可以正常识别。如果你的配置也是这样,可以把分词符或者英文输入的识别符号改掉再试试。
如果你还不成功就贴下配置算了,不然我也不知道到底什么问题。
2018年05月08日 14点05分 6
还有一个问题,是要用空格上屏,用回车无效。
2018年05月08日 14点05分
另外第二个分号结束英文继续五笔的时候,顶字上屏时功能也是有效的。
2018年05月08日 14点05分
level 7
三国lz 楼主
@金冠CROWN
呃,感谢这么晚还给解答。我想你还是有一点理解偏差了,就是我不需要五笔和英文同时在输入框里输,用分号后只用输英文直到回车上屏为止(在别的输入法里,其实这个英文状态下,包括数字、特殊符号、空格、分号本身等都能输,除了回车是用于上屏的以外,不过我想如果只能做到输一个单词其实也能凑和用了)。
我想我把现在用的wb98.schema.yaml和default.custom.yaml都贴出来吧,我感觉最好还是只改五笔的,不用改全局。
缩进有点**,我把它们放码云上算了
https://gitee.com/sanguolz/myrimeconfig
为了方便你测试,我把用户文件夹下的文本文件都放上去了
2018年05月08日 15点05分 7
@金冠CROWN 有空时看看就好了,这个点了还是早点休息吧
2018年05月08日 15点05分
@三国 lz 我发的私聊你看到了吗?
2018年05月09日 13点05分
@贴吧用户_Q5MD7W8 才看到,不过只有“你好”[委屈]应该是因为之前没有互粉
2018年05月09日 16点05分
@贴吧用户_Q5MD7W8 我之前是直接在wb98.schema.yaml里做的修改,也试了改default.custom.yaml,难怪总有问题,现在才知道可以新建一个wb98.custom.yaml来改
2018年05月10日 14点05分
level 1
再来请教金冠CROWN老师一个问题:
你设置的“;”进入临时英文很好用,对于我常用中英混输很方便,感谢。
现在遇到又一个问题:用逗号、句号顶屏,按吧里介绍的,在double_pinyin.custom.yaml加入(我是自然码双拼):
key_binder/bindings:
- { when: has_menu, accept: comma, send: comma }
- { when: has_menu, accept: period, send: period }
就可以了。加减号翻页,逗号句号上屏,输入也很方便。但今天用英文输入时,点击分好键进入临时英文时,加号可以后翻页,但减号不能前翻页,显示一短横在字母后。点击逗号却能前翻页。如和设为减号前翻页。
请教,谢谢。
2018年06月21日 10点06分 8
level 1
最终这个是怎么实现的临时英文,有代码吗?
2024年01月17日 02点01分 9
1