1. takc923

    Posted

    takc923
Changes in title
+macOS標準の日本語入力でもGoogle日本語入力みたいにz+hjklを←↓↑→にする
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,98 @@
+# まえがき
+最近僕Google日本語入力やめてmacOS標準の日本語IM使ってるんですよ。なんですけど、Google日本語入力だとz+hjklで←↓↑→になるのに日本語IMだとできないのがつらすぎたので、日本語IMでもできるようにしました。その方法を共有します。
+
+参考
+
+- [Google日本語入力で使える「Zコマンド」がすごい | IDEA*IDEA](https://www.ideaxidea.com/archives/2009/12/google_z.html)
+- [Dvorak 配列のローマ字変換の設定 : tnomuraのブログ](http://tnomura9.exblog.jp/23594859/)
+
+# 要約
+日本語IMのキーマッピング設定は`/System/Library/Input\ Methods/JapaneseIM.app/Contents/Resources/RomajiRule_Default.txt`にあるので、そこにz+hjklで←↓↑→になる設定を追加します。
+ただ、`/System`以下はMacのEl CapitanからSystem Integrity Protection(SIP, rootless)って機能でそのまま編集できないので、その機能を無効にしてからやる必要があります。
+
+# 詳細
+## SIPを無効にする
+ここ読んで。
+
+- [El CapitanのSystem Integrity Protection(rootless)の解除方法 - Qiita](https://qiita.com/tuckQ/items/26c0bebbdfa2e094dba8)
+
+## 設定ファイルをいじる
+上記リンク見ながらSIPを無効にして再起動した前提。
+
+一応バックアップとってからやりましょう。
+
+```
+$ cd /System/Library/Input\ Methods/JapaneseIM.app/Contents/Resources/
+$ sudo cp RomajiRule_Default.txt RomajiRule_Default.txt.bak
+```
+
+`RomajiRule_Default.txt`はタブ区切りで1列目がキーで、2列目が出力される文字列です。3列目は何か知らないですが、今から編集する設定には無しで良いです。あとコメントアウトは`#`です。
+
+```
+$ head -n20 RomajiRule_Default.txt.bak
+#
+#
+#
+#
+
+
+- ー 1
+
+a あ 1
+i い
+u う 1
+e え 1
+o お 1
+
+ka か 2
+ki き 2
+ku く
+ke け
+ko こ
+```
+
+次に編集します。ついでに、矢印以外のzコマンドも追加してます。
+あと、日本語IMで`www`と打つと`っっw`ってなるのがうざいので、`www`が出力されるよう`ww`で`っw`になる設定をコメントアウトしてます。
+
+```
+$ sudo vi RomajiRule_Default.txt
+$ diff -u RomajiRule_Default.txt.bak RomajiRule_Default.txt
+--- RomajiRule_Default.txt.bak 2015-10-03 16:23:21.000000000 +0900
+@@ -389,7 +389,7 @@
+ yy っy 1,1
+ rr っr 1,1
+ ll っl 1,1
+-ww っw 1,1
++# ww っw 1,1
+
+ bb っb 1,1
+ cc っc 1,1
+@@ -438,3 +438,16 @@
+ ほ゜ ぽ
+
+ ########################
++# Google日本語入力
++
++zj ↓
++zh ←
++zk ↑
++zl →
++z。 …
++z「 『
++z」 』
++z、 ‥
++zー ~
++
++########################
+```
+
+この編集をしたあとに`日本語入力プログラム`というプロセスを終了させます。で、日本語入力をしようとすると勝手に再起動して上記変更を読み込んでくれます。その時zjで←になれば成功です。
+他に自分でカスタマイズしたかったらすると良いです。
+
+## SIPを有効にする。
+再掲。これの`csrutil disable`の所を`csrutil enable`にすると有効に戻ります。
+
+- [El CapitanのSystem Integrity Protection(rootless)の解除方法 - Qiita](https://qiita.com/tuckQ/items/26c0bebbdfa2e094dba8)
+
+以上。