Skip to content

Instantly share code, notes, and snippets.

@sluchin
Created March 9, 2013 17:09
Show Gist options
  • Save sluchin/5124863 to your computer and use it in GitHub Desktop.
Save sluchin/5124863 to your computer and use it in GitHub Desktop.
configure ddskk
;;; 日本語入力 (ddskk)
;; sudo apt-get install ddskk
;; 辞書は以下からダウンロードする
;; http://openlab.ring.gr.jp/skk/wiki/wiki.cgi?page=SKK%BC%AD%BD%F1#p7
;; http://kddoing.ddo.jp/user/skk/SKK-JISYO.KAO.unannotated
;; http://omaemona.sourceforge.net/packages/Canna/SKK-JISYO.2ch
;; q 「かなモード」,「カナモード」間をトグルする.
;; l 「かなモード」または「カナモード」から「アスキーモード」へ.
;; L 「かなモード」または「カナモード」から「全英モード」へ.
;; 辞書をマージする
;; sudo apt-get install skktools
(defun sync-skkdic ()
(interactive)
(let ((ibus-jisyo "~/.skk-ibus-jisyo"))
(when (and (boundp 'skk-jisyo)
(file-writable-p ibus-jisyo)
(file-writable-p skk-jisyo))
;; バックアップ
(copy-file skk-jisyo (make-backup-file-name (expand-file-name skk-jisyo)) t)
(let ((tmp " *skk*") ; テンポラリバッファ
(coding-system-for-write 'euc-jp))
;; マージするコマンド実行
(call-process "skkdic-expr" nil tmp nil
(expand-file-name skk-jisyo)
(expand-file-name ibus-jisyo))
;; ファイルにコピー
(switch-to-buffer tmp)
(write-region (point-min) (point-max) skk-jisyo)
(kill-buffer tmp)))))
(when (locate-library "skk")
(autoload 'skk-mode "skk" "Daredevil SKK (Simple Kana to Kanji conversion program)")
(define-key global-map (kbd "C-\\") 'skk-mode)
(eval-after-load "skk"
'(progn
;; 辞書の登録
(let ((personal "~/Dropbox/skk/.skk-jisyo") ; 個人辞書
(large "~/.emacs.d/ddskk/SKK-JISYO.L") ; 基本辞書
(2ch "~/.emacs.d/ddskk/SKK-JISYO.2ch") ; 2ch
(assoc "~/.emacs.d/ddskk/SKK-JISYO.assoc") ; 連想辞書
(jinmei "~/.emacs.d/ddskk/SKK-JISYO.jinmei") ; 人名
(kao0 "~/.emacs.d/ddskk/SKK-JISYO.KAO0") ; 顔文字 0
(kao1 "~/.emacs.d/ddskk/SKK-JISYO.KAO1") ; 顔文字 1
(kao2 "~/.emacs.d/ddskk/SKK-JISYO.KAO2")) ; 顔文字 2
(when (boundp 'skk-jisyo)
(when (and (file-readable-p personal)
(file-writable-p personal)) ; 個人辞書
(setq skk-jisyo personal)))
(when (boundp 'skk-large-jisyo)
(when (file-readable-p large) ; 基本辞書
(setq skk-large-jisyo large)))
(when (boundp 'skk-search-prog-list)
(when (file-readable-p 2ch) ; 2ch
(add-to-list 'skk-search-prog-list
(list 'skk-search-jisyo-file 2ch 10000 t) t))
(when (file-readable-p assoc) ; 連想辞書
(add-to-list 'skk-search-prog-list
(list 'skk-search-jisyo-file assoc 10000 t) t))
(when (file-readable-p jinmei) ; 人名
(add-to-list 'skk-search-prog-list
(list 'skk-search-jisyo-file jinmei 10000 t) t))
(when (file-readable-p kao0) ; 顔文字 0
(add-to-list 'skk-search-prog-list
(list 'skk-search-jisyo-file kao0 10000 t) t))
(when (file-readable-p kao1) ; 顔文字 1
(add-to-list 'skk-search-prog-list
(list 'skk-search-jisyo-file kao1 10000 t) t))
(when (file-readable-p kao2) ; 顔文字 2
(add-to-list 'skk-search-prog-list
(list 'skk-search-jisyo-file kao2 10000 t) t))))
;; sticky キー設定
;; `;' だと Paren モードで効かなくなるため `:' にする
(when (boundp 'skk-sticky-key)
(setq skk-sticky-key ":"))
;; Enter で確定
(when (boundp 'skk-egg-like-newline)
(setq skk-egg-like-newline t))
;; 閉括弧を自動補完
(when (boundp 'skk-auto-insert-paren)
(setq skk-auto-insert-paren))
;; 変換候補の表示位置 (C-f でミニバッファとトグル)
(when (boundp 'skk-show-candidates-always-pop-to-buffer)
(setq skk-show-candidates-always-pop-to-buffer t))
;; 注釈を表示
(when (boundp 'skk-show-annotation)
(setq skk-show-annotation t))
;; 英語補完 (/ で略語展開モード)
(when (boundp 'skk-use-look)
(setq skk-use-look t))
;; 送り仮名
(when (boundp 'skk-henkan-strict-okuri-precedence)
(setq skk-henkan-strict-okuri-precedence t))
;; 動的に補完
(when (boundp 'skk-dcomp-activate)
(setq skk-dcomp-activate t))
;; 動的補完の複数候補表示
(when (boundp 'skk-dcomp-multiple-activate)
(setq skk-dcomp-multiple-activate t))
;; 動的補完の候補表示件数
(when (boundp 'skk-dcomp-multiple-rows)
(setq skk-dcomp-multiple-rows 10))
;; ローマ字 prefix をみて補完する
(when (boundp 'skk-comp-use-prefix)
(setq skk-comp-use-prefix t))
;; 補完時にサイクルする
(when (boundp 'skk-comp-circulate)
(setq skk-comp-circulate t))
;; 半角カタカナ候補も変換候補にする
(when (boundp 'skk-search-katakana)
(setq skk-search-katakana 'jisx0201-kana))
;; サ行の送りプレフィックスに限定して送りあり変換する
(when (boundp 'skk-search-sagyo-henkaku)
(setq skk-search-sagyo-henkaku t))
;; 辞書登録のとき、余計な送り仮名を送らないようにする
(when (boundp 'skk-check-okurigana-on-touroku)
(setq skk-check-okurigana-on-touroku 'auto)))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment