rime-easy-en
rime-easy-en copied to clipboard
手动安装,微软双拼无法开启中英混输
操作系统:ubuntu 18.04 输入法:fcitx-rime,double_pinyin_mspy 部署方式:参照“手动安装easy_en” 结果:无法开启中英混输
具体的操作步骤:
- 将
easy_en.dict.yaml
easy_en.yaml
lua/easy_en.lua
复制到 rime 配置目录。 - 在
double_pinyin_mspy.custom.yaml
中添加:patch: __include: easy_en:/patch_double_pinyin_mspy
- 重新部署 结果,中英混输没有生效 我是否遗漏了什么步骤
能否将完整的配置分享一下?
default.custom.yaml:
patch:
schema_list:
- schema: double_pinyin_mspy
- schema: luna_pinyin_simp
default.yaml:
ascii_composer:
good_old_caps_lock: true
switch_key:
Caps_Lock: clear
Control_L: noop
Control_R: noop
Eisu_toggle: clear
Shift_L: inline_ascii
Shift_R: commit_text
config_version: 0.35.custom.930421487
customization: 930421487
key_binder:
bindings:
- {accept: "Control+p", send: Up, when: composing}
- {accept: "Control+n", send: Down, when: composing}
- {accept: "Control+b", send: Left, when: composing}
- {accept: "Control+f", send: Right, when: composing}
- {accept: "Control+a", send: Home, when: composing}
- {accept: "Control+e", send: End, when: composing}
- {accept: "Control+d", send: Delete, when: composing}
- {accept: "Control+k", send: "Shift+Delete", when: composing}
- {accept: "Control+h", send: BackSpace, when: composing}
- {accept: "Control+g", send: Escape, when: composing}
- {accept: "Control+bracketleft", send: Escape, when: composing}
- {accept: "Alt+v", send: Page_Up, when: composing}
- {accept: "Control+v", send: Page_Down, when: composing}
- {accept: ISO_Left_Tab, send: Page_Up, when: composing}
- {accept: "Shift+Tab", send: Page_Up, when: composing}
- {accept: Tab, send: Page_Down, when: composing}
- {accept: minus, send: Page_Up, when: has_menu}
- {accept: equal, send: Page_Down, when: has_menu}
- {accept: comma, send: Page_Up, when: paging}
- {accept: period, send: Page_Down, when: has_menu}
- {accept: "Control+Shift+1", select: .next, when: always}
- {accept: "Control+Shift+2", toggle: ascii_mode, when: always}
- {accept: "Control+Shift+3", toggle: full_shape, when: always}
- {accept: "Control+Shift+4", toggle: simplification, when: always}
- {accept: "Control+Shift+5", toggle: extended_charset, when: always}
- {accept: "Control+Shift+exclam", select: .next, when: always}
- {accept: "Control+Shift+at", toggle: ascii_mode, when: always}
- {accept: "Control+Shift+numbersign", toggle: full_shape, when: always}
- {accept: "Control+Shift+dollar", toggle: simplification, when: always}
- {accept: "Control+Shift+percent", toggle: extended_charset, when: always}
- {accept: "Shift+space", toggle: full_shape, when: always}
- {accept: "Control+period", toggle: ascii_punct, when: always}
menu:
page_size: 5
punctuator:
full_shape:
" ": {commit: " "}
"!": {commit: "!"}
"\"": {pair: ["“", "”"]}
"#": ["#", "⌘"]
"$": ["¥", "$", "€", "£", "¥", "¢", "¤"]
"%": ["%", "°", "℃"]
"&": "&"
"'": {pair: ["‘", "’"]}
"(": "("
")": ")"
"*": ["*", "·", "・", "×", "※", "❂"]
"+": "+"
",": {commit: ","}
"-": "-"
.: {commit: "。"}
"/": ["/", "÷"]
":": {commit: ":"}
";": {commit: ";"}
"<": ["《", "〈", "«", "‹"]
"=": "="
">": ["》", "〉", "»", "›"]
"?": {commit: "?"}
"@": ["@", "☯"]
"[": ["「", "【", "〔", "["]
"\\": ["、", "\"]
"]": ["」", "】", "〕", "]"]
"^": {commit: "……"}
_: "——"
"`": "`"
"{": ["『", "〖", "{"]
"|": ["·", "|", "§", "¦"]
"}": ["』", "〗", "}"]
"~": "~"
half_shape:
"!": {commit: "!"}
"\"": {pair: ["“", "”"]}
"#": "#"
"$": ["¥", "$", "€", "£", "¥", "¢", "¤"]
"%": ["%", "%", "°", "℃"]
"&": "&"
"'": {pair: ["‘", "’"]}
"(": "("
")": ")"
"*": ["*", "*", "·", "・", "×", "※", "❂"]
"+": "+"
",": {commit: ","}
"-": "-"
.: {commit: "。"}
"/": ["、", "/", "/", "÷"]
":": {commit: ":"}
";": {commit: ";"}
"<": ["《", "〈", "«", "‹"]
"=": "="
">": ["》", "〉", "»", "›"]
"?": {commit: "?"}
"@": "@"
"[": ["「", "【", "〔", "["]
"\\": ["、", "\\", "\"]
"]": ["」", "】", "〕", "]"]
"^": {commit: "……"}
_: "——"
"`": "`"
"{": ["『", "〖", "{"]
"|": ["·", "|", "|", "§", "¦"]
"}": ["』", "〗", "}"]
"~": ["~", "~"]
recognizer:
patterns:
email: "^[A-Za-z][-_.0-9A-Za-z]*@.*$"
uppercase: "[A-Z][-_+.'0-9A-Za-z]*$"
url: "^(www[.]|https?:|ftp[.:]|mailto:|file:).*$|^[a-z]+[.].+$"
schema_list:
- schema: double_pinyin_mspy
- schema: luna_pinyin_simp
switcher:
abbreviate_options: true
caption: "〔方案選單〕"
fold_options: true
hotkeys:
- "Control+grave"
- "Control+Shift+grave"
- F4
option_list_separator: "/"
save_options:
- full_shape
- ascii_punct
- simplification
- extended_charset
double_pinyin_mspy.custom.yaml:
patch:
translator/dictionary: luna_pinyin.extended
__include: easy_en:/patch_double_pinyin_mspy
engine/translators:
- punct_translator
- reverse_lookup_translator
- script_translator
- table_translator@custom_phrase
- table_translator
custom_phrase:
dictionary: ""
user_dict: custom_phrase
db_class: stabledb
enable_completion: false
enable_sentence: false
initial_quality: 1
double_pinyin_mspy.schema.yaml:
__include: "easy_en:/patch_double_pinyin_mspy"
custom_phrase:
db_class: stabledb
dictionary: ""
enable_completion: false
enable_sentence: false
initial_quality: 1
user_dict: custom_phrase
customization: 549439220
engine:
filters:
- simplifier
- uniquifier
processors:
- ascii_composer
- recognizer
- key_binder
- speller
- punctuator
- selector
- navigator
- express_editor
segmentors:
- ascii_segmentor
- matcher
- abc_segmentor
- punct_segmentor
- fallback_segmentor
translators:
- punct_translator
- reverse_lookup_translator
- script_translator
- "table_translator@custom_phrase"
- table_translator
key_binder:
import_preset: default
punctuator:
import_preset: default
recognizer:
import_preset: default
patterns:
reverse_lookup: "`[a-z]*'?$"
reverse_lookup:
comment_format:
- "xform/([nl])v/$1ü/"
dictionary: stroke
enable_completion: true
preedit_format:
- "xlit/hspnz/一丨丿丶乙/"
prefix: "`"
suffix: "'"
tips: "〔筆畫〕"
schema:
author:
- "佛振 <[email protected]>"
dependencies:
- stroke
description: |
朙月拼音+MSPY雙拼方案。
name: "MSPY雙拼"
schema_id: double_pinyin_mspy
version: 0.15.custom.549439220
speller:
algebra:
- "erase/^xx$/"
- "derive/^([jqxy])u$/$1v/"
- "derive/^([aoe].*)$/o$1/"
- "xform/^([ae])(.*)$/$1$1$2/"
- "xform/iu$/Q/"
- "xform/[iu]a$/W/"
- "xform/er$|[uv]an$/R/"
- "xform/[uv]e$/T/"
- "xform/v$|uai$/Y/"
- "xform/^sh/U/"
- "xform/^ch/I/"
- "xform/^zh/V/"
- "xform/uo$/O/"
- "xform/[uv]n$/P/"
- "xform/i?ong$/S/"
- "xform/[iu]ang$/D/"
- "xform/(.)en$/$1F/"
- "xform/(.)eng$/$1G/"
- "xform/(.)ang$/$1H/"
- "xform/ian$/M/"
- "xform/(.)an$/$1J/"
- "xform/iao$/C/"
- "xform/(.)ao$/$1K/"
- "xform/(.)ai$/$1L/"
- "xform/(.)ei$/$1Z/"
- "xform/ie$/X/"
- "xform/ui$/V/"
- "derive/T$/V/"
- "xform/(.)ou$/$1B/"
- "xform/in$/N/"
- "xform/ing$/;/"
- "xlit/QWRTYUIOPSDFGHMJCKLZXVBN/qwrtyuiopsdfghmjcklzxvbn/"
alphabet: "zyxwvutsrqponmlkjihgfedcba;"
delimiter: " '"
initials: zyxwvutsrqponmlkjihgfedcba
switches:
- name: ascii_mode
reset: 0
states: ["中文", "西文"]
- name: full_shape
states: ["半角", "全角"]
- name: simplification
states: ["漢字", "汉字"]
- name: ascii_punct
states: ["。,", ".,"]
translator:
dictionary: luna_pinyin.extended
preedit_format:
- "xform/([aoe])(\\w)/0$2/"
- "xform/([bpmnljqxy])n/$1in/"
- "xform/(\\w)g/$1eng/"
- "xform/(\\w)q/$1iu/"
- "xform/([gkhvuirzcs])w/$1ua/"
- "xform/(\\w)w/$1ia/"
- "xform/([dtnlgkhjqxyvuirzcs])r/$1uan/"
- "xform/0r/er/"
- "xform/([dtgkhvuirzcs])v/$1ui/"
- "xform/(\\w)v/$1ve/"
- "xform/(\\w)t/$1ve/"
- "xform/([gkhvuirzcs])y/$1uai/"
- "xform/(\\w)y/$1v/"
- "xform/([dtnlgkhvuirzcs])o/$1uo/"
- "xform/(\\w)p/$1un/"
- "xform/([jqx])s/$1iong/"
- "xform/(\\w)s/$1ong/"
- "xform/([jqxnl])d/$1iang/"
- "xform/(\\w)d/$1uang/"
- "xform/(\\w)f/$1en/"
- "xform/(\\w)h/$1ang/"
- "xform/(\\w)j/$1an/"
- "xform/(\\w)k/$1ao/"
- "xform/(\\w)l/$1ai/"
- "xform/(\\w)z/$1ei/"
- "xform/(\\w)x/$1ie/"
- "xform/(\\w)c/$1iao/"
- "xform/(\\w)b/$1ou/"
- "xform/(\\w)m/$1ian/"
- "xform/(\\w);/$1ing/"
- "xform/0(\\w)/$1/"
- "xform/(^|[ '])v/$1zh/"
- "xform/(^|[ '])i/$1ch/"
- "xform/(^|[ '])u/$1sh/"
- "xform/([jqxy])v/$1u/"
- "xform/([nl])v/$1ü/"
prism: double_pinyin_mspy
词库和短语什么的我就不分享了 如果还需要什么其他信息,请告知,感谢
另外,rime目录结构如下:
rime
├── cangjie5_express.prism.bin -> /usr/share/rime-data/cangjie5_express.prism.bin
├── cangjie5.prism.bin -> /usr/share/rime-data/cangjie5.prism.bin
├── cangjie5.reverse.bin -> /usr/share/rime-data/cangjie5.reverse.bin
├── cangjie5.schema.yaml
├── cangjie5.table.bin -> /usr/share/rime-data/cangjie5.table.bin
├── custom_phrase.txt
├── default.custom.yaml
├── default.yaml
├── double_pinyin_abc.prism.bin -> /usr/share/rime-data/double_pinyin_abc.prism.bin
├── double_pinyin_flypy.prism.bin -> /usr/share/rime-data/double_pinyin_flypy.prism.bin
├── double_pinyin_mspy.custom.yaml
├── double_pinyin_mspy.prism.bin
├── double_pinyin_mspy.schema.yaml
├── double_pinyin.prism.bin -> /usr/share/rime-data/double_pinyin.prism.bin
├── easy_en.dict.yaml
├── easy_en.schema.yaml
├── easy_en.yaml
├── installation.yaml
├── lua
│ └── easy_en.lua
├── luna_pinyin.extended.dict.yaml
├── luna_pinyin.extended.reverse.bin
├── luna_pinyin.extended.table.bin
├── luna_pinyin_fluency.prism.bin -> /usr/share/rime-data/luna_pinyin_fluency.prism.bin
├── luna_pinyin_fluency.schema.yaml
├── luna_pinyin.prism.bin
├── luna_pinyin.reverse.bin -> /usr/share/rime-data/luna_pinyin.reverse.bin
├── luna_pinyin.schema.yaml
├── luna_pinyin_simp.custom.yaml
├── luna_pinyin_simp.prism.bin
├── luna_pinyin_simp.schema.yaml
├── luna_pinyin.table.bin -> /usr/share/rime-data/luna_pinyin.table.bin
├── luna_pinyin_tw.prism.bin -> /usr/share/rime-data/luna_pinyin_tw.prism.bin
├── luna_pinyin_tw.schema.yaml
├── luna_pinyin.userdb
│ ├── 000198.ldb
│ ├── 000200.ldb
│ ├── 000207.ldb
│ ├── 000210.log
│ ├── CURRENT
│ ├── LOCK
│ ├── LOG
│ ├── LOG.old
│ └── MANIFEST-000209
├── luna_pinyin.zhwiki.dict.yaml
├── symbols.yaml
├── sync
│ └── 2775cec6-4d6a-44a6-8d64-1142131dd23d
│ ├── cangjie5.schema.yaml
│ ├── custom_phrase.txt
│ ├── default.custom.yaml
│ ├── default.yaml
│ ├── double_pinyin_mspy.custom.yaml
│ ├── double_pinyin_mspy.schema.yaml
│ ├── easy_en.dict.yaml
│ ├── easy_en.schema.yaml
│ ├── easy_en.yaml
│ ├── installation.yaml
│ ├── luna_pinyin.extended.dict.yaml
│ ├── luna_pinyin_fluency.schema.yaml
│ ├── luna_pinyin.schema.yaml
│ ├── luna_pinyin_simp.schema.yaml
│ ├── luna_pinyin_tw.schema.yaml
│ ├── luna_pinyin.userdb.txt
│ ├── luna_pinyin.zhwiki.dict.yaml
│ ├── symbols.yaml
│ └── user.yaml
└── user.yaml
好的 有空我在我电脑上帮你看看 😎
尝试:
- 创建文件:
easy_en.custom.yaml
,并添加内容:
patch:
engine/filters:
- uniquifier
-
double_pinyin_mspy.custom.yaml
开头修改为:
patch:
translator/dictionary: luna_pinyin.extended
# the following two lines are for esay_en
__include: easy_en:/patch_double_pinyin_mspy
easy_en/initial_quality: 0.5
测试:
在双拼模式,输入“hello”得到显示:
问题似乎没有得到修复
能否将你测试成功的配置分享一下,感谢
@burg1ar 我是完全使用你上面贴的配置文件 检查这个缩进是否正确,你上面发的少了空格
patch:
engine/filters:
- uniquifier
如果还是不行的话欢迎加入 https://t.me/loverime 群组讨论,我可以帮你远程调试
好的,等周末我调一下
不是缩进的问题,还是不行,我也加了你分享的群组 https://t.me/loverime
在ubuntu 20.04上进行了测试,安装的软件都来自于系统仓库 fcitx version: Version: 1:4.2.9.7-3 fcitx-rime version: Version: 0.3.2-6build1 librime1 version: Version: 1.5.3+dfsg1-4build3
手动安装rime-easy-en,结果:依旧不能实现中英文混输 fcitx5版本的rime安装比较复杂,没有现成的软件包,就不测试了 这个问题暂时就这样吧,英文输入的需求也没那么大,感谢提供的帮助
windows 配置 rime、双拼、easy_en,前面也是调了两天,前几步都没问题,但是最后混输实在调不出来, 根据 BlindingDark 的留言多调了几步竟然成了,特地跑来分享: 1. 下载 rime 2. 安装中文方案双拼,用 rime 自带的 installer就可以实现,在“输入法设定→下载工具命令行里面输入: https://github.com/rime/rime-double-pinyin (使用程序设置菜单就可以更换方案,不需要网上教程的更改(新建)default.custom.yaml) 3. 使用自带的 installer 安装 easy en: 命令行里面输入: BlindingDark/rime-easy-en 4. 但下一步
就运行不了了,大部分时间由于网络问题报错,偶尔有一次成功。 但我需要的双拼加 easy en。
5. 所以使用下方手动安装方案: github 下载 zip,解压到 用户目录,手动安装 easy_en
6. Windows 用户应下载 wordninja_windows_32_lua53.dll,然后将下载到的文件重命名为 wordninja.dll。 把 wordninja.dll 文件文件放到 Rime的 **程序文件夹 ** 下。
7. 将 lua 文件夹复制到 **程序文件夹 **。(里面只有一个 easy_en.lua 不要动它)
8. 用戶文件夹里新建 easy_en.custom.yaml. 填写
patch:
easy_en/use_wordninja_rs_lua_module: true
easy_en/wordninja_rs_lua_module_path: "wordninja.dll"
因为 经过测试 Windows 绝对路径不生效,不能这么写: "C:/rime-easy-en-master/wordninja.dll" 。而是应该用 Rime 的工作目录 "程序文件夹“作为 linux 的“相对根目录”,在这里使用相对文件地址就可以了:
(plum 明明说 C:\Windows\System32 是工作目录,害我尝试了好半天,才发现不是这里,也不是用户目录,而是程序文件夹)
9. 继续在 用戶文件夹里新建 rime.lua 填写……
local easy_en = require("easy_en")
easy_en_enhance_filter = easy_en.enhance_filter
10. redeploy 到此 easy en 可以用题词器和连续自动增强了,
输入 thequickfoxjumpsoverthelazydog 会输出 the quick fox jumps over the lazy dog .
11. 但是我想使用双拼方案拼音加加和英文输入,给双拼添加 easy en 混输
创建 double_pinyin_pyjj.custom.yaml,向里面填入
# Rime schema
# encoding: utf-8
patch:
__include: easy_en:/patch
easy_en/initial_quality: 0
此时就可以混输了,例如: tijkcomment 会提示:提交comment ,虽然不是全自动的,但也极大的方便了切换