Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

五笔四码唯一自造词 fn+shift+delete 无法删除 #303

Open
yam-liu opened this issue Aug 13, 2019 · 10 comments
Open

五笔四码唯一自造词 fn+shift+delete 无法删除 #303

yam-liu opened this issue Aug 13, 2019 · 10 comments

Comments

@yam-liu
Copy link

yam-liu commented Aug 13, 2019

开启了五笔自造词,比如最近经常输入“通用“ “逻辑”(ceet lqlk),然后被保存成了自定义词组 “通用逻辑” (cell)。但是更经常的是输入英文 cell 来进行交流,这时也无法通过选中词语来进行删除,因为输入达到四码唯一就已经上屏了。而且能删除,删除之后再打一次又会回来。
先问下有什么办法可以删除四码唯一的自造词么?

其次,通过使用清歌输入法发现,手动管理自造词貌似是还好的一种方法(对于五笔)。因为五笔为了低重码率,无关自造词增加会降低效率,影响正常输入。比如下面这样:
image
image
image
有个冒昧的想法是可否完全自定义增加和删除,并提供快捷键,类似清歌输入法。
仍然保持学习的功能,但是不自动生成自造词。用户如果想保留词语,可以按 Control + 手动保存;不想要的刚输入的词,Control - 手动删除。不知可否考虑下。

@Ace-Who
Copy link
Contributor

Ace-Who commented Aug 29, 2019

# wubi86.custom.yaml

speller:
  auto_select: false  # 禁用自动上屏
  max_code_length: 4  # 第五码顶字上屏
  delimiter: "'"  # 分隔符会取消自动上屏和顶字上屏

translator/enable_encoder: true  # 开启自动造词(利用 delimiter 分隔并续写输入串)
translator/encode_commit_history: false  # 禁止对上屏字词自动造词

@yam-liu
Copy link
Author

yam-liu commented Sep 5, 2019

这样设置不符合的我的输入习惯了。auto_select 需要是 true。而且设置完好像也没有自造词了。。

@Ace-Who
Copy link
Contributor

Ace-Who commented Sep 5, 2019

更正:

# wubi86.custom.yaml
patch:
  speller:
    auto_select: false  # 禁用自动上屏
    max_code_length: 4  # 第五码顶字上屏
    delimiter: "'"  # 分隔符会取消自动上屏和顶字上屏

  translator/enable_encoder: true  # 开启自动造词(利用 delimiter 分隔并续写输入串)
  translator/encode_commit_history: false  # 禁止对上屏字词自动造词

auto_select 要开启的话,没有办法,这个逻辑是自相矛盾的。

@yam-liu
Copy link
Author

yam-liu commented Sep 5, 2019 via email

@Ace-Who
Copy link
Contributor

Ace-Who commented Sep 5, 2019

可以多设一个翻译器,以引导符启动,专门负责造词,仅在此翻译器中禁用 auto_select

@Ace-Who
Copy link
Contributor

Ace-Who commented Sep 5, 2019

说错了,auto_select 不是翻译器的选项,无法对单个翻译器禁用。但是以下配置应该能满足需求:

# wubi86.schema.yaml

schema:
  schema_id: wubi86
  name: "五笔86"
  version: "0.21"
  author:
    - 發明人 王永民先生
  description: |
    五筆字型86版
    碼表源自 ibus-table
    敲 z 鍵進入拼音反查
  dependencies:
    - pinyin_simp

switches:
  - name: ascii_mode
    reset: 0
    states: [ 中文, 西文 ]
  - name: full_shape
    states: [ 半角, 全角 ]
  - name: extended_charset
    states: [ 常用, 增廣 ]
  - name: ascii_punct
    states: [ 。,, ., ]

engine:
  processors:
    - ascii_composer
    - recognizer
    - key_binder
    - speller
    - punctuator
    - selector
    - navigator
    - express_editor
  segmentors:
    - ascii_segmentor
    - matcher
    - abc_segmentor
    - affix_segmentor@encoder
    - punct_segmentor
    - fallback_segmentor
  translators:
    - punct_translator
    - reverse_lookup_translator
    - table_translator@fixed
    - table_translator
    - table_translator@encoder
  filters:
    - uniquifier

speller:
  delimiter: " ;'"
  auto_select: true
  max_code_length: 4

translator:
  dictionary: wubi86
  enable_charset_filter: true
  enable_user_dict: true
  enable_sentence: false
  enable_encoder: true
  encode_commit_history: false
  max_phrase_length: 4
  disable_user_dict_for_patterns:
    - "^z.*$"

fixed:
  __include: translator
  enable_user_dict: false
  initial_quality: 1000

encoder:
  __include: translatar
  enable_sentence: true
  prefix: '`'
  tips: '【造词】'
  tag: encoder

reverse_lookup:
  dictionary: pinyin_simp
  prefix: "z"
  suffix: "'"
  tips: 〔拼音〕
  preedit_format:
    - xform/([nl])v/$1ü/
    - xform/([nl])ue/$1üe/
    - xform/([jqxy])v/$1u/

punctuator:
  import_preset: default

key_binder:
  import_preset: default

recognizer:
  import_preset: default
  patterns:
    reverse_lookup: "^z[a-z]*'?$"
    encoder: '`[a-y;]*'

以引导符 ` 临时启用造词翻译器 encoder,此翻译器支持连打和 delimiter 分号键 ;,又因为不会自动提交候选,应该可用于删词。

此外还有固态词典固定词序,自造词后置且自动调序的特性。

未经测试。

@yam-liu
Copy link
Author

yam-liu commented Sep 12, 2019

@Ace-Who 感谢提供的方法,但是试了下貌似是无效的。

@X1aomu
Copy link

X1aomu commented Sep 13, 2019

有个冒昧的想法是可否完全自定义增加和删除,并提供快捷键,类似清歌输入法。
仍然保持学习的功能,但是不自动生成自造词。用户如果想保留词语,可以按 Control + 手动保存;不想要的刚输入的词,Control - 手动删除。不知可否考虑下。

我这里有一个可能满足你要求的方案,可供你参考:https://github.com/X1aomu/rime-uggx

https://github.com/X1aomu/rime-uggx/blob/8af5239ef4df298166f81603befbefe496ffb2c4/uggx.schema.yaml#L81-L88

https://github.com/X1aomu/rime-uggx/blob/8af5239ef4df298166f81603befbefe496ffb2c4/uggx.schema.yaml#L132-L171

操作上略有不同,默认在最后提供历史学习提示,用户如果想保留,将提示词上屏一次即可。上屏一次后将加入用户词典,出字优先级提高。
想删除己有自造词,选中后按 Ctrl + Delete 即可。删除快捷键可按 rime 的方式自定义,但是 rime 好像没有提供类似你说的 Control + 的快捷键,可用上屏替代。

@yam-liu
Copy link
Author

yam-liu commented Sep 13, 2019

多谢。配置略复杂些,我先研究下。

@yam-liu
Copy link
Author

yam-liu commented Aug 30, 2020

感觉前面的方案还是太麻烦了,我索性把自造词关了,每次需要新加的词或者删除词就直接编辑 wubi86.dict.yaml。好维护,和清歌的操作方式也差不多。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants