Edited at

El CapitanのmacOS標準の日本語IMでもGoogle日本語入力みたいにz+hjklを←↓↑→にする

More than 1 year has passed since last update.


まえがき

最近僕Google日本語入力やめてmacOS標準の日本語IM使ってるんですよ。なんですけど、日本語IMだとz+hjklで←↓↑→にならないのがつらすぎたので、日本語IMでもできるようにしました。その方法を共有します。

参考


要約

日本語IMのキーマッピング設定は/System/Library/Input\ Methods/JapaneseIM.app/Contents/Resources/RomajiRule_Default.txtにあるので、そこにz+hjklで←↓↑→になる設定を追加します。

ただ、/System以下はMacのEl CapitanからSystem Integrity Protection(SIP, rootless)って機能でそのまま編集できないので、その機能を無効にしてからやる必要があります。


詳細


SIPを無効にする

ここ読んで。


設定ファイルをいじる

上記リンク見ながら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
+++ RomajiRule_Default.txt 2017-09-21 17:58:40.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にすると有効に戻ります。

以上。