2014年5月3日星期六

RIME定制指南(仮)

上次介紹了RIME,發現了每次更新都會把預設的yaml設定檔覆蓋掉。
官方定制指南說明了,原來要把自己的修改加入在custom.yaml檔案裏。
每個要修改的yaml設定檔都要有對應的一個custom.yaml,重新部署時會把入面的內容加到.yaml裏面。

比如,我想停用了default.yaml的uppercase recognizer設定。
首先建立一個default.custom.yaml,把要定制的選項寫在裏面。第一行為patch:,注意縮排。
$ cat default.custom.yaml
patch:
    recognizer/patterns/uppercase: noop
    ascii_composer/switch_key/Shift_L: noop
    ascii_composer/switch_key/Shift_R: noop
    ascii_composer/switch_key/Control_L: noop
    ascii_composer/switch_key/Control_R: noop

如果要定制標點符號的話,做法有點不同。直接改default.yaml它會刪了掉預設的所有標點符號。
cangjie5.schema.yaml裏有一行是punctuator:,它會引入預設的標點符號。
所以要修改cangjie5.schema.yaml,建立一個cangjie5.custom.yaml檔案。內容如下:
$ cat cangjie5.custom.yaml
patch:
    punctuator/full_shape:
        '~' : ~
    punctuator/half_shape:
        '~' : ~

以下是我個人所有的修改:

修改“~”標點符號、停用大寫字母recognizer、停用shift鍵中/英輸入功能、iterm2程式裏啟用輸入法。
~/Library/Rime $ ls *.custom*
cangjie5.custom.yaml default.custom.yaml  squirrel.custom.yaml
~/Library/Rime $ for i in `ls *.custom*`; do echo "\$ cat $i" && cat $i; done
$ cat cangjie5.custom.yaml
patch:
    punctuator/full_shape:
        '~' : ~
    punctuator/half_shape:
        '~' : ~
$ cat default.custom.yaml
patch:
    recognizer/patterns/uppercase: noop
    ascii_composer/switch_key/Shift_L: noop
    ascii_composer/switch_key/Shift_R: noop
    ascii_composer/switch_key/Control_L: noop
    ascii_composer/switch_key/Control_R: noop
$ cat squirrel.custom.yaml
patch:
    app_options/com.googlecode.iterm2: false
發佈留言

熱門文章