somemo's diary

プログラマ、雑記、プログラミング関係はLinkから、数式はこっちでまとめていることが多い

【Emacs】DDSKKで日本語入力

DDSKKという日本語入力システムの導入メモです。

DDSKK

単語とその送り仮名の区切りを各個人が好きなように指定して辞書に登録し、辞書を用いて日本語を入力していきます。存在しない単語や区切りをスムーズに辞書に登録できるようになっています。なれないうちは面倒です。

自分の場合、DDSKKで日本語入力というより、タイピングの練習的な感じで導入しています。

ダウンロード(DDSKK)

SKK Openlab - DDSKKからダウンロードします。2012/03/07時点でのバージョンは、ddskk-14.4です。ダウンロード後、展開しておきます。

ダウンロード(辞書)

同じリンクからSKK-JISYO.L.gzをダウンロードします。展開後、DDSKKのdicディレクトリに辞書をコピーしておきます。

インストール

まず、DDSKKに含まれるバッチファイル(makeit.bat)と設定ファイル(SKK-CFG)を修正します。

rem makeit.batの設定

set PREFIX=C:\emacs-23.3
set EMACS=%PREFIX%\bin\emacs.exe
set LISPDIR=%PREFIX%\site-lisp
set DEFAULT_MAKE_ARG=
;;; NTEmacs の設定例:
(setq SKK_DATADIR "c:/emacs-23.3/etc/skk")
(setq SKK_INFODIR "c:/emacs-23.3/info")
(setq SKK_LISPDIR "c:/emacs-23.3/site-lisp/skk")
(setq SKK_SET_JISYO t)

makeit.batを実行したときのインストール先を確認します。

makeit what-where

----
INFORMATIVE: No pre-configured batch (e.g. ~/.elispmk.bat
INFORMATIVE: or ~/.elispmk.skk.bat) found.
INFORMATIVE: You may create one for your convenience.
INFORMATIVE: See comments in makeit.bat.
----
----
Executing make1.bat in the current directory using the following env.
HOME=C:\usr\home
PREFIX=C:\emacs-23.3
EMACS=C:\emacs-23.3\bin\emacs.exe
EXEC_PREFIX=
LISPDIR=C:\emacs-23.3\site-lisp
INFODIR=
VERSION_SPECIFIC_LISPDIR=
----
Executing .\make1.bat with argument=what-where
Loading c:/DDSKK展開ディレクトリ/SKK-CFG...

SKK modules:
  skk-viper, skk-jisx0213, skk-emacs, ccc, cdb, context-skk, queue-m, skk-abbrev,
  skk-act, skk-annotation, skk-auto, skk-autoloads, skk-azik, skk-cdb, skk-comp,
  skk-cursor, skk-cus, skk-dcomp, skk-develop, skk-gadget, skk-hint, skk-inline,
  skk-isearch, skk-jisx0201, skk-jisyo-edit-mode, skk-kakasi, skk-kcode, skk-leim,
  skk-look, skk-macs, skk-num, skk-server-completion, skk-server, skk-show-mode,
  skk-sticky, skk-tankan, skk-tut, skk-vars, skk-version, skk, skk-study
  -> c:/emacs-23.3/site-lisp/skk

SKK infos:
  skk.info
  -> c:/emacs-23.3/info

SKK tutorials:
  SKK.tut, SKK.tut.E, NICOLA-SKK.tut, skk.xpm
  -> c:/emacs-23.3/etc/skk

makeit.batを実行してインストールします。

makeit install

infoディレクトリにskk.infoが作成されていました。他には、etcディレクトリにskkディレクトリが作成され、中にチュートリアル関連のファイルが作成されています。site-elispディレクトリにskkディレクトリが作成され、中にskk関連のelispファイルが作成されています。

SKKモード

なにも設定する必要はありません。C-x jでSKKモードになれます。詳細は、M-x skk-tutorialで実践してみるといいでしょう。チュートリアルを終了して、さらに詳細を知りたくなったときには M-x infoからSKKを選択しましょう。

stickyキー

SKKモードではShiftキーを酷使するので、stickyキーを使わないと効率が落ちます。以下の設定を行って効率よくSKKモードで入力します。

;; skk用のstickyキー設定
(setq skk-sticky-key ";")

候補縦表示

変換候補が多数ある場合、ミニバッファに現れてとても見づらいです。候補を編集中バッファに表示させ、候補が多すぎる場合に、autocompleteのように縦に表示してくれる設定があります。

;; インライン候補縦表示
(setq skk-show-inline 'vertical)

前の候補に戻る

変換候補が多数ある場合、SPCで進んでいきます。逆に戻るには、xを使います。自分はxより、C-pに慣れているためこちらを使っています。

感想

SKKモードは慣れが必要です。慣れてしまえば、文字を入力するのが楽しくなりますし、単語登録のためにキーボードから手を離さなくてよいのがとてもいいです。

半面、全英モードでstickyキーが効かない、他人のマシンにSKKが入っていても辞書がないので意味がない、などの要望・不満もあります。解決して人がいそうなのでもっと探してみようと思います。