Hatena::ブログ(Diary)

bobchinの日記 このページをアンテナに追加 RSSフィード

2010年08月30日(月)

[]SKKの設定 00:33 SKKの設定を含むブックマーク

DDSKK(Daredevil SKK)インストールする。

http://openlab.ring.gr.jp/skk/maintrunk/ から ddskk-14.0.92.tar.gz をダウンロード

http://openlab.ring.gr.jp/skk/wiki/wiki.cgi?page=SKK%BC%AD%BD%F1 から辞書もダウンロードしておく。

SKK-JISYO.L

APELも必要なのでダウンロードしておく。

apel-10.8.tar.gz


APELのインストール

  1. apel-10.8.tar.gz を解凍し、中にあるmakeit.bat を編集する
REM 以降で使用するディレクトリ
set PREFIX=D:\home\.emacs.d

REM NTEmacsコマンド(runemacs.exe ではないので注意)
set EMACS=%PREFIX%\bin\bin\emacs.exe

REM APELインストールフォルダ
set LISPDIR=%PREFIX%\elisp

REM EMUインストールフォルダ
set VLISPDIR=%PREFIX%\elisp

REM make1.bat に渡す引数(elc:バイトコンパイル install:インストール what-where:インストール先確認)
set DEFAULT_MAKE_ARG=install
  1. makeit.bat を実行する
  2. ~/.emacs.d/elisp/apel/, ~/.emacs.d/elisp/emu/ が作成される。

SKKインストール

  1. ddskk-14.0.92.tar.gz を解凍する。
  2. 辞書ファイル SKK-JISYO.L を dic フォルダコピーする。
  3. 中にあるmakeit.bat, SKKCFG を編集する

makeit.bat

set PREFIX=D:\home\.emacs.d
set EMACS=%PREFIX%\bin\bin\emacs.exe
set LISPDIR=%PREFIX%\elisp\skk
set DEFAULT_MAKE_ARG=install

SKKCFG

(setq APEL_DIR "D:/home/.emacs.d/elisp/apel")
(setq EMU_DIR "D:/home/.emacs.d/elisp/emu")
(setq SKK_DATADIR "D:/home/.emacs.d/elisp/skk")
(setq SKK_LISPDIR "D:/home/.emacs.d/elisp/skk")
(setq SKK_SET_JISYO t)
  1. makeit.bat を実行する

SKK の設定

通常何も設定しなくても使えるみたいだが、その場合は ~/.emacs.d/elisp/skk に入れたものを

NTEmacs の site-lisp に移動しないと実行できなかった。

インストールフォルダを変える場合は以下の設定が必要。

04init-keybind.el

(require 'skk-autoloads)
(global-set-key (kbd "C-x C-j") 'skk-mode)
(setq skk-large-jisyo (expand-file-name "~/.emacs.d/elisp/skk/SKK-JISYO.L"))
(setq skk-tut-file (expand-file-name "~/.emacs.d/elisp/skk/SKK.tut"))

Emacs テクニックバイブルの sticky.el を使用しようとしたら使えなかったので、

以下を設定。

04init-keybind.el

(setq skk-sticky-key ";")

sticky-shift が便利そうだったので、

http://homepage1.nifty.com/blankspace/emacs/sticky.html を参考に以下を設定。

04init-keybind.el

(defvar sticky-key skk-sticky-key)
(defvar sticky-list
  '(("a" . "A")("b" . "B")("c" . "C")("d" . "D")("e" . "E")("f" . "F")("g" . "G")
    ("h" . "H")("i" . "I")("j" . "J")("k" . "K")("l" . "L")("m" . "M")("n" . "N")
    ("o" . "O")("p" . "P")("q" . "Q")("r" . "R")("s" . "S")("t" . "T")("u" . "U")
    ("v" . "V")("w" . "W")("x" . "X")("y" . "Y")("z" . "Z")
    ("1" . "!")("2" . "@")("3" . "#")("4" . "$")("5" . "%")("6" . "^")("7" . "&")
    ("8" . "*")("9" . "(")("0" . ")")
    ("`" . "~")("[" . "{")("]" . "}")("-" . "_")("=" . "+")("," . "<")("." . ">")
    ("/" . "?")(";" . ":")("'" . "\"")("\\" . "|")
    ))
(defvar sticky-map (make-sparse-keymap))
(define-key global-map sticky-key sticky-map)
(mapcar (lambda (pair)
          (define-key sticky-map (car pair)
            `(lambda()(interactive)
               (setq unread-command-events
                     (cons ,(string-to-char (cdr pair)) unread-command-events)))))
        sticky-list)
(define-key sticky-map sticky-key '(lambda ()(interactive)(insert sticky-key)))
トラックバック - http://d.hatena.ne.jp/bobchin/20100830/1283182429
Connection: close