Emacs + DDSKK + Riece (+ dbskkd-cdb)
Mac だと LimeChat が使いやすいのだけど,Linux 環境だと使えないので代替を探していて,結局 Riece に落ち着きそう.
そうなるとまぁ DDSKK は使いたいし,辞書は SKK server で統一して DDSKK からも uim-skk からも利用できるようにしたい.
AUR にも DDSKK, Riece, dbskkd-cdb のパッケージは無かったので自分で PKGBUILD 書いてついでに AUR にも上げておいた.
Arch ユーザなら yaourt -S emacs-ddskk emacs-riece dbskkd-cdb でインストール可能.依存関係で emacs-apel や tinycdb あたりも入る.
dbskkd-cdb は最初使い方がよくわからなかったけど,xinetd を利用して使うらしい.
/etc/xinetd.d/skkserv に
service skkserv { socket_type = stream type = UNLISTED wait = no user = dbskkd protocol = tcp port = 1178 server = /usr/lib/dbskkd-cdb/dbskkd-cdb # specify dictionary path server_args = /usr/share/skk/SKK-JISYO.cdb disable = no }
みたいに書いて /etc/rc.d/xinetd start で xinetd を立ち上げてやる.
ちなみに server_args として辞書のパスを指定しているが,オリジナルの dbskkd-cdb はパスを決め打ちしていたので,適当に argv[1] を使うように書き直してる.
あとは各種 IM において localhost:1178 を SKK server として設定してやれば使える.
cdb 形式の辞書は
% /usr/lib/ddskk-cdb/skktocdb.sh SKK-JISYO.L | cdb -c -t - SKK-JISYO.cdb
と作る.
自分はいろんな辞書を skkdic-expr2 でマージして大きな辞書を作って cdb 化したものを使っている.
skkdic-expr2 は skktools,有名な辞書は skk-jisyo という AUR のパッケージに含まれている.
DDSKK については ~/.emacs.d/init.el に
(require 'skk-autoloads) (global-set-key (kbd "C-x C-j") 'skk-mode) (setq skk-preload t) (setq skk-user-directory "~/.emacs.d/ddskk")
とだけ書いて,設定や DDSKK 関連のファイルを ~/.emacs.d/ddskk 以下に置くようにした.
~/.emacs.d/ddskk/init には
(setq skk-server-host "localhost") (setq skk-server-portnum 1178) (setq skk-egg-like-newline t) (setq skk-henkan-strict-okuri-precedence t) (setq skk-check-okurigana-on-touroku 'auto) (setq skk-show-annotation t) (require 'skk-hint) (setq skk-japanese-message-and-error t) (setq skk-show-japanese-menu t)
くらいしか書いてない.
動的補完が人気あるらしいが,あんまり好きではない.
コーディングにおける補完機能も最初は好きじゃなかった*1が,今はもはや neocomplcache 無しで書きたくないくらい状態なのでまぁいつのまにか「動的補完最高!!」とか言ってるかもしれないけど.
個人的にはそれより skk-hint のほうが面白いと思う.