hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

SKKを使うことにした

ことえりが使いづらかったのでSKKを使うことにした.
いろいろ調べて設定したりしてすごく大変だった.

方針

  • 普段はAquaSKKを使う
  • Carbon Emacs内ではddskkを使う
  • Linuxで動かすことは考えず,まずMacで動くようにする

AquaSKKをインストール

普通にインストールする.

動作確認した後,以下の設定を行う.

ひらかなだけ有効にする

インストール後,System PreferenceのInternationalのInput MenuからAquaSKKを有効にする.
その際,AquaSKKのサイトの指示の通りにせず,ひらかなだけ有効にして.メニューにはU.S.とひらかなだけ残るようにする.
http://gyazo.com/70f139e1a81bd4167d517e216370c621.png
U.Sではなく,AquaSKKのASCIIを利用すると,Terminal.appで日本語を入力できなくなってしまう.
AquaSKKはCmd+Spcで起動する.
メニューのアイコンは変わらないが,qでひらかな,カタカナ切り替え,lでアルファベットに切り替え,C-jで日本語に復帰できる.
アルファベットしか入力しないときはU.S.で入力し,日本語が混ざるときは,qとかlとかを駆使する.

skkservを有効に

あとでddskkから使うために,AquaSKKのskkservを有効にする.
AquaSKKの環境設定->skkserv機能を有効に.
http://gyazo.com/8f69380f01e32bc8136450169dd12cff.png

InputSwitcherをインストール

AquaSKKを起動した状態でアプリケーションをCarbon Emacsに切り換えると挙動がおかしくなる(ddskkで変換したいのにAquaSKKのウィンドウが出て,しかも消せない)ので,Carbon EmacsではAquaSKKを無効にする必要がある.
InputSwitcherをインストールすると,アプリケーションととに入力ソースの状態を保持してくれる.

SandS(Space and Shift)にする

SKKを長時間使っていると小指が疲れるので,Spaceを押しながら他のキーを押すとShiftになるようにする.
詳しくは以下を参照.

MacでSandsにするには,KeyRemap4MacBookで,「Space to Shift_L」する.
http://gyazo.com/5e56e469f5416c6fc05019bba4020131.png
初めのうちは慣れないので,既存のShiftを他のキー(Optionとか)に割り当ててしまって,Spaceを押すよう矯正するとよい.

ddskkをインストールする

ddskkはEmacs内で動作するSKKCarbon EmacsAquaSKKの相性が悪いので,ddskkを使う.

インストールする

以下のページなどを参考にした.

参考にしたページでは,スナップショットが壊れているらしいが,現在は壊れていないようなので,スナップショットを使うことにした.
インストール先を~/.emacs.d/にしたかったので,SKK-CFGを編集した.編集しなくてもインストールはできる.
スナップショットのURLは日によって変わるので気をつける.

wget http://openlab.ring.gr.jp/skk/maintrunk/ddskk-20090531.tar.gz
wget http://openlab.ring.gr.jp/skk/skk/dic/SKK-JISYO.L.gz

gunzip SKK-JISYO.L.gz
mkdir -p ~/.emacs.d/etc/skk
mv SKK-JISYO.L ~/.emacs.d/etc/skk/

tar zxvf ddskk-20090531.tar.gz
cd ddskk-20090531
chmod 666 SKK-CFG

echo "(setq SKK_DATADIR \"~/.emacs.d/etc/skk\")" >> SKK-CFG
echo "(setq SKK_INFODIR \"~/.emacs.d/info\")" >> SKK-CFG
echo "(setq SKK_LISPDIR \"~/.emacs.d/site-lisp/skk\")" >> SKK-CFG

make EMACS=/Applications/Emacs.app/Contents/MacOS/Emacs install
使えるようにする

まず,Carbon Emacs内でAquaSKKが反応しないように,以下の設定をする.
Command, Meta, Ctrlをシステムに渡さず,Emacs内で止めてしまう.

;; システムに装飾キー渡さない
(setq mac-pass-control-to-system nil)
(setq mac-pass-command-to-system nil)
(setq mac-pass-option-to-system nil)

それと,普通にddskkをロードする設定.

;; SKK用の設定
(require 'skk-autoloads nil t)
(setq default-input-method "japanese-skk")

;; C-mで改行してインデント,C-jでSKK起動
(global-set-key "\C-m" 'newline-and-indent)
(global-set-key "\C-j" 'skk-mode)

;; 辞書ファイルから読む
(setq skk-large-jisyo "~/.emacs.d/etc/skk/SKK-JISYO.L")

;; 辞書サーバー(上とどっちか選ぶ)
;; (setq skk-server-host "localhost")
;; (setq skk-server-portnum 1178)
;; (setq skk-jisyo-code 'utf-8-unix)

AquaSKKをskkservにしたので,辞書のファイルを用意する必要なかったが,とりえあえず選べるようにした.
C-jでSKKを起動するようにしたので,C-mにもとのC-jの関数を割り当てた.

その他設定

いろいろと設定した.
ここの設定は好みで.

;; isearch時にSKKをオフ
(setq skk-isearch-start-mode 'latin)
;; 勝手に括弧閉じる
(setq-default skk-auto-insert-paren t)
;; 送り仮名の何か
(setq-default skk-process-okuri-early t)
;; 自動的に確定する
(setq-default skk-kakutei-when-unique-candidate t)
;; デフォルトで,と.を出す
(setq-default skk-kutouten-type 'en)
;; lookup
(setq-default skk-use-look  t)
(setq-default skk-look-use-ispell  t)
;; 変換候補インライン
(setq skk-show-inline t)

訓練しよう

M-x skk-tutorialでチュートリアルが起動する.
よくできてるので,やってみるとよいと思う.
次にマニュアルを全部読む.

詳しい使い方や基本的な設定のパラメータなどが分かる.

感想

SKKは操作が簡単なので,すぐに慣れた.変換候補を連打して探すこともあまりなく,満足した.
最初,普通にShiftで変換してたらすごい勢いで小指が消耗して,やばいと思ってSandSにした.
SandSにはまだ慣れず,間違ってShiftを押してしまい,矯正のためにShiftはOptionにバインドしたので,変なキーを押してエディタがおかしくなる,Command + Shift + ]をどう押すか分からなくなる,などしている.
今後も使用を続けて,高速に文字入力できるようになりたい.