目次

ddskk

since 2012-05-03

DDSKK は emacs で使える日本語入力システム。 SKK の後継プロジェクト。

Mac

Carbon Emacs に入れてみた。

curl -O http://openlab.ring.gr.jp/skk/maintrunk/ddskk-14.2.tar.gz
tar xvf ddskk-14.2.tar.gz 
cd ddskk-14.2

SKK-CFG の末尾に追加

(add-to-list 'load-path "~/.emacs.d/elisp/emu")
(add-to-list 'load-path "~/.emacs.d/elisp/apel")
(setq APEL_DIR "~/.emacs.d/elisp/apel")
(setq EMU_DIR "~/.emacs.d/elisp/emu") 
(setq SKK_DATADIR "~/.emacs.d/etc/skk")
(setq SKK_INFODIR "~/.emacs.d/info")
(setq SKK_LISPDIR "~/.emacs.d/elisp/skk")
(setq SKK_SET_JISYO t)
make install EMACS=/Applications/Emacs.app/Contents/MacOS/Emacs

~/.emacs の追加

; ddskk
(add-to-list 'load-path "~/.emacs.d/elisp/skk")
(setq mac-pass-control-to-system nil)
(require 'info)
(add-to-list 'Info-additional-directory-list "~/.emacs.d/info")
(setq skk-user-directory "~/.emacs.d/ddskk/")
(when (require 'skk-autoloads nil t)
  (define-key global-map (kbd "C-x C-j") 'skk-mode)
  (setq skk-byte-compile-init-file t))
;; dired-x with skk
(add-hook 'dired-load-hook
          (lambda ()
            (load "dired-x")
            (global-set-key "\C-x\C-j" 'skk-mode)
            ))

load-path はいじらなくていいと書かれていたが、けっきょく書かないと動かなかった。

Windows

cygwin で。

$ cd ~
$ pwd
/cygdrive/c/Users/nishimotz

という環境。 C:\Applications\emacs\bin\emacs.exe に emacs 23.4.1-i386-mingw がある。

wget http://openlab.ring.gr.jp/skk/maintrunk/ddskk-14.2.tar.gz
tar xvfz ddskk-14.2.tar.gz
cd ddskk-14.2
make EMACS=/cygdrive/c/Applications/emacs/bin/emacs.exe install
make install EMACS=/cygdrive/c/Applications/emacs/bin/emacs.exe

最後に /bin/bash がどうのこうの、というエラーが出たが、とりあえず先に進む。

.emacs の追加:

; ddskk
(add-to-list 'load-path "~/.emacs.d/elisp/skk")
(require 'info)
(add-to-list 'Info-additional-directory-list "~/.emacs.d/info")
(setq skk-user-directory "~/.emacs.d/ddskk/")
(when (require 'skk-autoloads nil t)
  (define-key global-map (kbd "C-x C-j") 'skk-mode)
  (setq skk-byte-compile-init-file t))
;; dired-x with skk
(add-hook 'dired-load-hook
          (lambda ()
            (load "dired-x")
            (global-set-key "\C-x\C-j" 'skk-mode)
            ))

Mac の記述から (setq mac-pass-control-to-system nil) だけ削った。

C-x C-j で SKK が使えるようになった。

どうやら info のインストールに失敗しているらしい。。

ずるいけど Mac から ~/.emacs.d/info/{dir, skk.info} をコピーしたら使えた。

設定の置き場所

since 2012-12-23

Windows 7 で確認したら c:\Users\(username)\AppData\Roming に .emacs および .emacs.d を置けばよいことがわかった。

使い方

あちこちに書かれているし、M-x info で skk の説明が読める。

q ひらがな・カタカナ
l C-j アスキーモード切替
L 全角英文字モード

トグル変換モード:ひらがなの途中でカタカナ「モード」を入力

Q mo-do q

全角アルファベットでfileを入れる

/ file C-q

辞書

SKK-JISYO.L を使いたい:

(setq skk-large-jisyo "/your/path/to/SKK-JISYO.L")

チュートリアル

いちおう設定を追加する:

(setq skk-tut-file "~/.emacs.d/etc/skk/SKK.tut")

M-x skk-tutorial する。

エラー:Symbols … void: skk-char-to-unibyte-string が出るときはまず C-x C-j する。

検索

emacs のインクリメンタル検索が動くようにする:

http://www.bookshelf.jp/texi/skk/skk_3.html#SEC11

(add-hook 'isearch-mode-hook
          #'(lambda ()
              (when (and (boundp 'skk-mode)
                         skk-mode
                         skk-isearch-mode-enable)
                (skk-isearch-mode-setup))))
(add-hook 'isearch-mode-end-hook
          #'(lambda ()
              (when (and (featurep 'skk-isearch)
                         skk-isearch-mode-enable)
                (skk-isearch-mode-cleanup))))