いくらかの単語で調べても実践している人が見当たらなかったのでメモ。
分けたい
とりあえず、大きくなったからカテゴリ毎に分割したいというのが考えられる。
今回の僕の場合は複数の Mac でgithubを使って管理しているprivate.xmlを共用しているのだけど、会社でしか使わないフレーズを記載したくなったのでprivate.xmlの他に~/.karabiner/local.xmlを作りたかった。
会社でのみ頻繁に入力するメアドや URL や特定のフレーズをoption + Aとかで入力できるようにするととても便利だ。
やり方
結論から言うと公式ドキュメントに記載があった。
<include path = "xxx">で出来た。
private.xmlに大半を直接書いて、末尾で<include path = "{{ ENV_HOME }}/.karabiner/local.xml" />をすることで環境毎に異なるさらなる設定を足す形にした。
private.xmlを<include path = "conf1.xml" />, <include path = "conf2.xml />みたいにincludeだけにすればカテゴリ毎にファイルを分ける形にも出来る。
ちなみに特に追加設定を入れる気がない環境では、とりあえず下の様なファイルを置いておけばエラーになったり存在チェックをしたりしなくて済むので楽。
<?xml version="1.0"?>
<root>
</root>
HOME ディレクトリ
公式ドキュメントに{{ ENV_HOME }}についての記載が無かったけど、そのまま書いたらどうやら~が展開されたみたい。
ちなみに~/...とか{{ HOME }}/...`ではエラーになった。
希望が満たせたので<replacementdef>については読まなかったけど、{{ FOO }}の部分は呼び元から引数のように設定するんじゃあないかと思ったんだけどな。
ENV_HOMEだけは最初から設定されているのかな。