Android Emacs で,日本語の入出力をする tips.
背景
本エントリ執筆時点では,非rootの Android で Emacs を動作させる最も簡単な方法は,Google Play に上がっているこのアプリケーション(Zeim版)を使う方法である.
しかし,単に導入しただけでは,日本語の入力ができず,表示で文字化けする. 入力は,頑張って SKK を入れればなんとかなるような気もするが,表示は困る.
注意
私は独自環境の構築中で,もしかすると Zeim版では何らかの理由で上手くいかないかもしれない.(でもたぶん大丈夫だと思う)
また,Zeim版は,Android Terminalの改変バージョンを端末エミュレータとして使っている. よってAndroid Terminal を使ってリモートログインし,Emacs を使うという場面でも,本エントリは役に立つのかもしれない.
ちなみに,私の環境のソースコードは,GitHubに置いてある.
手段
まず,端末側で UTF-8 を扱えるようにする必要がある. メニューから[設定] – [Default to UTF-8] のチェックボックスをonにする.
続いて,Emacs 側の設定. ~/.emacs.d/init.el を開き(無ければ作り),最低限下記の通り設定する.
1 2 |
|
set-terminal-coding-system の設定で表示を,set-keyboard-coding-system で入力をそれぞれ設定している. これで,入力はできる.
加えて
1 2 3 |
|
辺りも設定したほうがよいかも. set-default-coding-system だけで済むような気がするのだけれど,set-keyboard-coding-system と set-terminal-coding-system は,別途明示的に設定しないとダメっぽい.
あとは,メニューから [ソフトキーボード] を選択して,ご愛用のIMEを表示し,お好きなように.
(ワタクシ的には)要検討課題
IMEによっては,Ctrl を吸ってしまい,Emacs (というか端末エミュレータ)に渡してくれないものがあるっぽい.少なくとも Google 日本語入力は,その疑いが濃厚. だから,だーーーっと日本語ベタ打ちするならあまり気にならないけれど,日本語を入力しつつ編集をしようと思うとストレスが溜まるかも.
AndroidだとIMEが吸う前のキーストロークをフックするのは困難な気がする.ワタクシ的には要調査.
SKK 使えばこの課題は解消されるだろうと思うけれど.もうちょっと汎用的な解は無いものか….