Hatena::ブログ(Diary)

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

2010年08月31日(火)

[]cmigemo の設定 23:09 cmigemo の設定 - bobchinの日記 を含むブックマーク

cmigemoが使えるようになった。


cygwin で構築

長所:動作が一番安定している気がする。構築が意外と簡単。

短所cygwinDLL など余計なファイルが多い

  1. cygwinインストールする。インストールする際に以下のモジュールを選択する。
  2. QKC(MS-DOS版) をダウンロードし、cygwin の bin フォルダに入れておく。
  3. cmigemo から ソースコード 1.3(予定) 開発版ダウンロード解凍する
  4. 解凍先で以下を実行
cmigemo-1.3c$ make cyg         => build フォルダ作成される。実行には"cygwin1.dll"も必要
cmigemo-1.3c$ make cyg-dict    => dict フォルダ作成される
cmigemo-1.3c$ cd dict
cmigemo-1.3c/dicdt$ make utf-8 => utf-8.d に作成される

MSVC で構築

長所ファイルが少くて済む

短所:構築が面倒

  1. Visual C++ 2010 Express をインストールする
  2. この辺を参考に以下をパスの通ったところに入れる
  3. cmigemo から ソースコード 1.3(予定) 開発版ダウンロード解凍する
  4. 解凍先で以下を実行
cmigemo-1.3c$ nmake msvc         => build フォルダ作成される。
cmigemo-1.3c$ nmake msvc-dict    => dict フォルダ作成される

migemoの設定

migemo-0.40.tar.gz ではうまく動かなかったので、CVS から migemo.el.in v1.8 をダウンロードする

http://bitbucket.org/sakito/dot.emacs.d/src/cf8e4c175a9e/local-lisp/migemo.el からダウンロードしてもいいかも。

  • 設定は以下の通り

07init-migemo.el

(setq migemo-command "cmigemo")
(setq migemo-options '("-q" "--emacs" "-i" "\a"))
;; cygwin 版を使用する場合
;; (setq migemo-dictionary (expand-file-name "~/.emacs.d/elisp/cmigemo/dict/utf-8.d/migemo-dict"))
(setq migemo-dictionary (expand-file-name "~/.emacs.d/elisp/cmigemo/dict/sjis/migemo-dict"))
(setq migemo-user-dictionary nil)
(setq migemo-regex-dictionary nil)

;; キャッシュの設定
(setq migemo-use-pattern-alist t)
(setq migemo-use-frequent-pattern-alist t)
(setq migemo-pattern-alist-length 1000)
;; cygwin 版を使用する場合
;; (setq migemo-coding-system 'utf-8-unix)
(setq migemo-coding-system 'japanese-shift-jis-unix)

(load-library "migemo")
(migemo-init)

2010年08月30日(月)

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

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)))

2010年08月22日(日)

[]simple-hatena-modeがうまく動作しなかった 21:22 simple-hatena-modeがうまく動作しなかった - bobchinの日記 を含むブックマーク

Windowsだからなのか一度はうまくいってたんだけど、

simple-hatena-modeがどうもうまく動作しないで悩んでいた。

現象は、C-c C-p で投稿すると「Now posting...」で止まってしまってました。

いろいろ試行錯誤しているうちにできるようになりました。

はてダラ設定ファイルconfig.txtID と PW を記述することで

できるようになりました。


ファイル構成は最終的に以下の通り。

~/.emacs.d/elisp/

+simple-hatena-mode.el

+hatenahelper-mode.el

+html-helper-mode.el

~/.hatena/bobchin/diary/

+hw.pl

+config.txt

+YYYY-MM-DD.txt(記事ファイル

config.txt

id:bobchin
password:XXXXXXXXXX

~/.emacs.d/conf/002init-hatena.el

(require 'simple-hatena-mode)

(setq simple-hatena-bin (expand-file-name "~/.hatena/bobchin/diary/hw.pl"))
(setq simple-hatena-root (expand-file-name "~/.hatena"))
(setq simple-hatena-default-id "bobchin")
(setq simple-hatena-default-group nil)
(setq simple-hatena-use-timestamp-permalink-flag nil)

(add-hook 'simple-hatena-mode-hook
	  '(lambda ()
		  (require 'hatenahelper-mode)
		  (hatenahelper-mode 1)
		  ))