テキストエディタは長年Vim派でしたが、最近はEmacsを学んでいます。
なぜ今更Emacsを学びだしたのか
Emacsで日本語入力ができるという話を聞いたからです。
私は日本人なので、どうしても日本語を書かなくてはいけない機会が多いです。
MacやLinuxを使っている人であれば、Gvimや素のEmacsで十分なのですが、
私の場合、メインのPCとしてChromebookを使っているので、一筋縄ではいきません。
Chromebookのターミナルでは日本語入力ができないためです。
また仕事ではWindows+Ubuntu(リモート)+Teraterm+Vimという環境なのですが、Vimだと日本語入力時には不便です。
Esc押下時に自動でIMEをOFFにするVimScriptも書いたのですが、当然ながらSSH越しには機能しません。
Emacsであれば、CUIコンソール上でも日本語を打つことができます。
更にEmacsはVim同様に拡張性が高いので、自分の好きなキーでIMEの切り替えができます。
しかもMozcであればGoogle日本語入力並みの精度が期待できます。
動作環境
- ASUS Chromebook C300MA
- Ubuntu 14.04 in Crouton
- Emacs 24.5.1
私は、開発者はほぼ全員が持っているであろうMacBookを持っていません。
学生時代に金が無く、どうにかして安価で快適な開発環境を作ろうとしてひたすらLinuxを弄っていたので、未だに買っていません。
開発もできる格安PCとして、Chromebookに行き着きました。
C300MAはなんと27000円でした。Croutonを使ってUbuntuを動作させています。
最初はXfceを動作させるのに必死だったのですが、ChromebookのChromeの方が使いやすいので
最近ではターミナルからしかUbuntuを使っていません。
構築手順
これらは全てCrouton上に入れたUbuntuで行います。
まずは必要なパッケージをインストールします。
# Install Emacs
# 面倒であれば、aptから入れても良い
#sudo apt-get install emacs
cd /usr/local/src
sudo wget http://ftp.jaist.ac.jp/pub/GNU/emacs/emacs-24.5.tar.gz
sudo tar xzvf emacs-24.5.tar.gz && sudo rm emacs-24.5.tar.gz
cd emacs-24.5
./configure --with-x-toolkit=no --with-xpm=no --with-jpeg=no --with-gif=no --with-tiff=no
make
sudo make install
# Mozc本体のインストール
sudo apt-get install emacs-mozc
# mozc.elのインストール
# ここは環境に応じて、Package.elやCaskを使えば良い
mkdir -p ~/.emacs.d/lisp
curl https://raw.githubusercontent.com/google/mozc/master/src/unix/emacs/mozc.el > ~/.emacs.d/lisp/mozc.el
次にEmacsでMozcを使えるようにします。
bind-key
を入れている前提ですので、適当に読み替えてください。
参考: http://emacs.rubikitch.com/bind-key/
vim ~/.emacs.d/init.el
; Add path
(add-to-list 'load-path "~/.emacs.d/lisp")
; Mozc settings
(require 'mozc)
(set-language-environment "Japanese")
(setq default-input-method "japanese-mozc")
(setq mozc-candidate-style 'overlay)
(defun mozc-start()
(interactive)
(message "Mozc start")
(mozc-mode 1))
(defun mozc-end()
(interactive)
(message "Mozc end")
(mozc-mode -1))
; C-j -> Mozc ON
; C-g -> Mozc OFF
(bind-key* ("C-j") 'mozc-start)
(bind-keys :map mozc-mode-map
("C-g" . mozc-end)
("C-x h" . mark-whole-buffer)
("M-b" . backward-word)
("M-f" . forward-word)
("C-x C-s" . save-buffer))
(後半の大量のマッピングは、mozc
が奪ってしまうキーバインドを取り返しています)
これで、Emacsを再起動すれば、下記のような操作で日本語入力できます。
- C-jで日本語入力ON
- C-gで日本語入力OFF
- Spaceで変換
- C-nで変換候補(次)
- C-pで変換候補(前)
本当はMacBookのようにかなでIME有効化、英数でIME無効化したかったのですが、Chromebookでどうやるか分からなかったので妥協しました。
試行錯誤の末、このキーマップに落ち着きました。
C-jは、Japaneseのjを取ったつもりです。
EmacsではC-gがキャンセルになっているので、日本語入力OFFにするのに丁度よかったです。
感想
これで快適な日本語入力環境ができました。
ターミナルと日本語は相性が悪いと思っていたのですが、Emacsだと普通にできますね。
これでまた一つ、ターミナル生活がはかどりそうです。
また、Edit with Emacsを使い、ChromeOS上で動作しているGoogleChromeのテキストエリアをCrouton上のEmacsで編集できるようにしました。
こちらはまた別の記事で書こうかと思います。