Closed chrisyue closed 5 years ago
@lotem 佛老師好. 我確實按文檔做的設置,但不知道還有什麼地方沒有設置正確,請佛老師幫忙查看一下吧.
這是我的 default.custom.yaml
文件全部內容
patch:
schema_list:
- schema: double_pinyin
punctuator:
import_preset: default # 這一句加不加都一樣的結果
half_shape:
'''' : { pair: [ '「', '」' ] }
'"' : { pair: [ '『', '』' ] }
ascii_composer:
switch_key:
Shift_L: commit_code
目前還是不能集成 default.yaml 裏的 punctuator 的設置
這是 default.yaml
文件的一部分,我是完全沒有去修改過它的:
punctuator:
...
half_shape:
',' : { commit: , }
'.' : { commit: 。 }
'<' : [ 《, 〈, «, ‹ ]
'>' : [ 》, 〉, », › ]
'/' : [ 、, '/', /, ÷ ]
'?' : { commit: ? }
...
現在只有我覆蓋過的起作用了,但是其他的,都沒有效果.
另外我再多提供一些線索吧,可能有關係:我只用 plum 安裝了雙拼方案,及其依賴的其他輸入方案
另外我剛剛還做了一些測試:
full_shape
的設置都是完全有效果的import_preset: default
,重新部署,效果都一樣我安装新的版本后,重新启动然后再longin,能够使用该输入法。但是没法使用我以前的设置。比如说,我以前是显示10条预选,但是现在只看到5条。似乎也没有读入我的各种dict,我使用的是extended dict,但是这些dict似乎都没有被读入,因为dict里面的一些词打不出来。
怎样确定输入法读入了我需要的dict?怎样确定输入法读入了我的设置?
我是使用luna_pinyin_simp,也就是说简体字拼音输入,但是用了我自己的dict,更新前一直工作正常。
谢谢!
On Jan 4, 2019, at 10:04 PM, chris yue notifications@github.com wrote:
另外我剛剛還做了一些測試:
保持我的當前 custom 配置, full_shape 的設置都是完全有效果的 修改我的 custom 配置, 增加對引號的轉化,結果點號不按 default.yaml 文件的設置規則轉換,而是變成了全角的點號 加不加 import_preset: default ,重新部署,效果都一樣 — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/rime/squirrel/issues/272#issuecomment-451622635, or mute the thread https://github.com/notifications/unsubscribe-auth/AJJ6ZZEPNeo3B6OpXnMPa6mq8MXXJ7wrks5vABYjgaJpZM4ZpAiz.
我安装新的版本后,重新启动然后再longin,能够使用该输入法。但是没法使用我以前的设置。比如说,我以前是显示10条预选,但是现在只看到5条。似乎也没有读入我的各种dict,我使用的是extended dict,但是这些dict似乎都没有被读入,因为dict里面的一些词打不出来。 怎样确定输入法读入了我需要的dict?怎样确定输入法读入了我的设置? 我是使用luna_pinyin_simp,也就是说简体字拼音输入,但是用了我自己的dict,更新前一直工作正常。 谢谢! … On Jan 4, 2019, at 10:04 PM, chris yue @.***> wrote: 另外我剛剛還做了一些測試: 保持我的當前 custom 配置, full_shape 的設置都是完全有效果的 修改我的 custom 配置, 增加對引號的轉化,結果點號不按 default.yaml 文件的設置規則轉換,而是變成了全角的點號 加不加 import_preset: default ,重新部署,效果都一樣 — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#272 (comment)>, or mute the thread https://github.com/notifications/unsubscribe-auth/AJJ6ZZEPNeo3B6OpXnMPa6mq8MXXJ7wrks5vABYjgaJpZM4ZpAiz.
这位兄弟,我感觉你的问题跟我这个没啥关系,我觉得你另外新开一个 issue 比较好……
@chrisyue 文檔裏介紹了兩種做法,一是在輸入方案裏覆蓋個別符號的映射,二是全套替換。 兩種方法都是對 輸入方案 打補丁。也只有在輸入方案裏可以指定引用具體的一套標點配置。 你的做法和兩者都不一樣啊。
@chrisyue 文檔裏介紹了兩種做法,一是在輸入方案裏覆蓋個別符號的映射,二是全套替換。 兩種方法都是對 輸入方案 打補丁。也只有在輸入方案裏可以指定引用具體的一套標點配置。 你的做法和兩者都不一樣啊。
謝謝佛老師,確實是我理解的問題,我原以爲在 default.custom.yaml 裏設置 import_preset: default
就可以了,原來需要在單獨的每個輸入方案裏都設置。看了 build 之後的配置我總算弄明白了。
不過我想,如果每個輸入法都要單獨設置,是不是有些不方便,比如我會主用雙拼,但偶爾也會用用別的輸入法,或者朋友偶爾用用我的 Mac 我就給他調成全拼。如果能在 default.custom.yaml 文件裏用 import_preset
表示 build 時合併 default.yaml 的內容就好了。
目前 import_preset: default
這句會直接原樣複製到 build/default.yaml
,但因自己本身就是 default
所有就忽略了,導致實際並不是合併的效果,我理解是這樣。
你這樣做是不行的。
import_preset:
之 default
指的就是 default.yaml
裏的相關定義。
default.custom.yaml
是對 default.yaml
的修改。
在任意輸入方案裏 import_preset: default
會引用 default.yaml
應用過補丁後的結果,即包含了 default.custom.yaml
的修改。
那麼在 default.custom.yaml
裏引用 default
就是在修改時引用修改後的內容,循環引用自身。
所以我不推薦動這個地方的定義。
第二套方案,就是爲了避免有人爲了不在每個方案裏重複自定義的符號,而要改 default.yaml
;
import_preset: other
這是最簡單的,改動最少的。
不過你非要(我再次重申這種用法我是不支持的)改 default.yaml
的定義,那就 patch 掉整個 punctuator
節點。
试试/+
操作符:
# default.custom.yaml
patch:
punctuator/half_shape/+:
'''' : { pair: [ '「', '」' ] }
'"' : { pair: [ '『', '』' ] }
大致的写法是这样。没理解错的话,可以合并新值或覆盖旧值(若存在)
@xiaoqun2016 這招也行。
抱歉我又来了
在 0.10.0 之前, 在 default.custom.yaml 里我可以覆写某些 default.yaml 中关于
punctuator.half_shape
的设置.比如
这样设置不并会影响其他符号的转换规则,但我发现 0.10.0 版本后,如果覆盖了
punctuator.half_shape
里的某一部分转化规则,实际上是把所有的punctuator.half_shape
都完全覆盖了. 比如说现在你看到的这段文字, 我没有办法用中文的句号.我理解以前的行为是正确的?