NTemacs の調整

[戻る]

はじめに

Windows 側で何か凝った編集をしたい時は15 年近く mulewin を愛用していました. 一度 Maedow に挑戦したことがあったのですが, あまりの重さに諦めました. 一方, 技術文章を TeX で書く際は Linux 上の emacs を使ってました. 主な理由は句読点を半角ピリオド+スペースや半角カンマ+スペースで書きたいからです. とは言えいつまでも Linux を動かすのもなんです. 要は手に馴染んだツールが Windows で動けばいいので, cygwin で canna と emacs を走らせるようにしてみようかなと思っていたら NTemacs なるものを見付けました. なんか使えるかもしれんととりあえず試しに使ってみることにしました.

調整

日本語の変換は馬鹿ですが動き自体は悪くありません. 暫く使ってみる気になったので, いろいろ調整してみました.

まずは見た目です. 起動時の派手派手しい画面やボタンやメニュー, インクリメンタルサーチした際にカーソル以外の色が変るのは許せません. 適当に .emacs を書いてみました. 以下に主要部分に書いておきます. ちなみに .emacs の場所は環境変数 HOME にて指定します.

(global-set-key "\C-o" 'toggle-input-method)
(global-set-key "\M-?" 'help-for-help)
(menu-bar-mode 0)
(tool-bar-mode 0)
(setq make-backup-files nil)
(setq transient-mark-mode nil)
(global-font-lock-mode nil)
(setq inhibit-startup-message t) 
(setq isearch-lazy-highlight nil)
(global-set-key "\C-\\" 'call-last-kbd-macro)
(setq quail-japanese-use-double-n t)

続いて句読点のピリオドとカンマです. 良く分からないので大本: leim/quail/japanese.el を弄ることにしました.

(defvar quail-japanese-transliteration-rules
〜中略〜
("." [". "]) ("," [", "])
〜後略〜
)
せっかくなのでカンマやピリオド以外にもいろいろルールを変更しましたが ここでは省略. その後, M-x byte-compile-file を実行し elc を作り替えます.

最後に環境変数 HOME ですが, ここまで一般的な名前だと他のツールとバッティングしてしまいます. 幸いネットに runemacs.c があって簡単にコンパイルできたので emacs.exe を呼び出す直前に環境変数 HOME を設定するようにしてみました. 具体的には

  1. 適当な所に char homepath[MAX_PATH]; を追加
  2. strcat (new_cmdline, cmdline); の次あたりに, 以下のようなフレーズを追加する
    strcpy(homepath, modname);
    if ( p = strrchr (homepath, '\\')){
      *p=0;
      strcat(homepath, "\\dotemacs");
      SetEnvironmentVariable ("HOME", homepath);
    }
    
とします (実行ファイル). .emacs は bin や lisp と同じディレクトリに dotemacs というディレクトリを掘り, その下に置きます.

最後に

やっぱり日本語の変換が馬鹿すぎます. いつまで使うかは分りませんなこりゃ.


2012.11