エディタとしての機能の他に, MUA としても利用しています. 私が利用しているパッケージに, 次のようなものがあります.
Emacs 関連のファイルは, 次のような構成になります.
ここで, .folders, .addresses, MAIL 以下, .elmo 以下のファイルは, Wanderlust によって自動的に 作成されるものなので, ここでは残りのものについて書いていきます.
なお, .emacs-env 以下のファイルは,
私がファイル分割をする際に, 整頓のために作ったものなので,
.emacs を読み出すときに, LISP の load
コマンドで
一緒に読むようにしています.
詳しくは, Meadow に付属しているドキュメント等をを読みましょう.
なお, Emacs の設定ファイルは,
8bit clean な環境を想定していないので,
日本語で書く場合には,
iso-2022-jp コード (いわゆる JIS コード)
で記述する必要があります.
まずは, 設定ファイルの本体である, .emacs から. 中身の大部分は, Meadow パッケージの中にある, dot.emacs.ja の写しです. Cygwin から呼び出すことを前提に書いていますが, 直接 EXE ファイルを実行しても大丈夫なはずです.
;;;; -*- mode: lisp-interaction; syntax: elisp; coding: iso-2022-7bit -*- ;;;; ;;;; Copyright (C) 2001 The Meadow Team ;; Author: Koichiro Ohba <koichiro@meadowy.org> ;; Kyotaro HORIGUCHI <horiguti@meadowy.org> ;; Hideyuki SHIRAI <shirai@meadowy.org> ;; KOSEKI Yoshinori <kose@meadowy.org> ;; and The Meadow Team. ;;; Mule-UCS の設定 ;; ftp://ftp.m17n.org/pub/mule/Mule-UCS/ ;; (set-language-environment) の前に設定します (require 'un-define) ;(require 'jisx0213) (setq bitmap-alterable-charset 'tibetan-1-column) (require 'bitmap) ;;; 日本語環境設定 (set-language-environment "Japanese") ;;; IMEの設定 (mw32-ime-initialize) (setq default-input-method "MW32-IME") (setq-default mw32-ime-mode-line-state-indicator "[--]") (setq mw32-ime-mode-line-state-indicator-list '("[--]" "[あ]" "[--]")) (add-hook 'mw32-ime-on-hook (function (lambda () (set-cursor-height 2)))) (add-hook 'mw32-ime-off-hook (function (lambda () (set-cursor-height 4)))) ;; インクリメンタルサーチに非ASCII文字を使う (define-key isearch-mode-map "\C-k" 'isearch-edit-string) ;; ;;; カーソルの設定 ;; ;; (set-cursor-type 'box) ; Meadow-1.10互換 (SKK等で色が変る設定) ;; ;; (set-cursor-type 'hairline-caret) ; 縦棒キャレット ;;; マウスカーソルを消す設定 (setq w32-hide-mouse-on-key nil) (setq w32-hide-mouse-timeout 5000) ;; フォントの設定 (load "~/.emacs-env/.font") ;; ;; X-Face のインライン表示 ;; (cond ;; ((locate-library "x-face-mule") ; ライブラリの有無をチェック ;; (require 'x-face-mule) ;; ;; 問い合わせなしでキャッシュファイルをセーブする ;; (setq x-face-mule-force-save-cache-file t))) ;; ;; ;; bold, italic, bold itaric を追加。 ;; ;; Bold ;; (w32-change-font-logfont "bdffont16-ascii" 1 ;; (list 'bdf-font (expand-file-name "European/lt1-16b-etl.bdf" bdf-font-directory ))) ;; ;; italic ;; (w32-change-font-logfont "bdffont16-ascii" 2 ;; (list 'bdf-font (expand-file-name "European/lt1-16i-etl.bdf" bdf-font-directory ))) ;; ;; Bold itaric ;; (w32-change-font-logfont "bdffont16-ascii" 3 ;; (list 'bdf-font (expand-file-name "European/lt1-16bi-etl.bdf" bdf-font-directory ))) ;; ;; 行末の改行コード<CR>を^Mと表示するのを防ぐ (add-hook 'comint-output-filter-functions 'shell-strip-ctrl-m nil t) ;; 初期フレームの設定 (setq default-frame-alist (append (list '(foreground-color . "black") ; black '(background-color . "antique white") ; LemonChiffon ;; '(background-color . "gray") ; gray '(border-color . "white") ; black '(mouse-color . "cyan") ; white '(cursor-color . "dark gray") ; black ;; '(ime-font . "Nihongo-12") ; TrueType のみ ;; '(font . "bdf-fontset") ; BDF ;; '(font . "private-fontset"); TrueType '(width . 80) '(height . 40) '(top . 50) '(left . 100)) default-frame-alist)) ;; ビープ音の設定 (set-message-beep 'ok) ;(setq visible-bell nil) ;; 行の表示など (line-number-mode 1) (column-number-mode 1) ;; ファイルバックアップの設定 (setq make-backup-files nil) ;; ;;; shell の設定 ;;; Cygwin の bash を使う場合 (setq explicit-shell-file-name "bash.exe") (setq shell-file-name "sh.exe") (setq shell-command-switch "-c") ;; ;;; Virtually UN*X!にある tcsh.exe を使う場合 ;; (setq explicit-shell-file-name "tcsh.exe") ;; (setq shell-file-name "tcsh.exe") ;; (setq shell-command-switch "-c") ;; ;;; WindowsNT に付属の CMD.EXE を使う場合。 ;; (setq explicit-shell-file-name "CMD.EXE") ;; (setq shell-file-name "CMD.EXE") ;; (setq shell-command-switch "\\/c") ;; ;;; coding-system の設定 ;; (modify-coding-system-alist 'process ".*sh\\.exe" 'undecided-dos) ;;; argument-editing の設定 (require 'mw32script) (mw32script-init) ;; ;;; browse-url の設定 (setq browse-url-browser-function 'browse-url-msie) (setq browse-url-msie-program "iexplore") (defun browse-url-msie (url) (interactive (browse-url-interactive-arg "URL: ")) (if browse-url-msie-program (let ((w32-start-process-show-window t)) (start-process (concat browse-url-msie-program url) nil browse-url-msie-program url)))) ;; (require 'browse-url) ;; (global-set-key [S-mouse-2] 'browse-url-at-mouse) ;;; Wanderlust の設定 (require 'mime-setup) (autoload 'wl "wl" "Wanderlust" t) (autoload 'wl-draft "wl-draft" "Write draft with Wanderlust." t) ;;; メールのドラフトを Wanderlust のものにする ;(autoload 'wl-user-agent-compose "wl-draft" nil t) ;(if (boundp 'mail-user-agent) ; (setq mail-user-agent 'wl-user-agent)) ;(if (fboundp 'define-mail-user-agent) ; (define-mail-user-agent ; 'wl-user-agent ; 'wl-user-agent-compose ; 'wl-draft-send ; 'wl-draft-kill ; 'mail-send-hook)) ;;; ここまで ;;; elisp-w3m の設定 (load "~/.emacs-env/.w3m") ;;; yatex の設定 (load "~/.emacs-env/.yatex") ;;; CSS-mode (autoload 'css-mode "css-mode") (setq auto-mode-alist (cons '("\\.css$" . css-mode) auto-mode-alist)) ;;; po-mode (autoload 'po-mode "po-mode") (setq auto-mode-alist (cons '("\\.po[tx]?\\'\\|\\.po\\." . po-mode) auto-mode-alist)) ;;; cc-mode ;;; ;;; end of file ;;;
次に, フォントの設定ファイル .emacs-env/.font です.
;;; -*- mode:lisp -*- ;;; font-lockの設定 (if window-system (progn (setq font-lock-support-mode 'lazy-lock-mode) (global-font-lock-mode t))) ;;; TrueType フォント設定 (create-fontset-from-request "private-fontset" '((width . 8) (height . 16) (fixed . t) (italic . nil)) '((family . "MS ゴシック") (family . "Courier New"))) ;; (change-fontset-from-request "private-fontset" ;; '((width . 8) ;; (height . 16) ;; (fixed . t) ;; (weight . 700) ;; (italic . nil)) ;; '((family . "MS ゴシック") ;; (family . "Courier New")) ;; 1) ;;; BDF フォント設定 ;; intlfonts-1.2.tar.gz が必要です ;; http://www.ring.gr.jp/archives/GNU/intlfonts/intlfonts-1.2.tar.gz ;; http://ring.asahi-net.or.jp/archives/GNU/intlfonts/intlfonts-1.2.tar.gz ;; ftp://ftp.m17n.org/pub/mule/intlfonts-1.2.tar.gz ;; ftp://ftp.gnu.org/pub/gnu/intlfonts/intlfonts-1.2.tar.gz ;; などから入手してください ;; c:/MEADOW/intlfonts-1.2 と展開した場合の設定例となっています。 (defvar bdf-font-directory "f:/MEADOW/fonts/intlfonts") (defvar bdf-font-name-prefix "bdffont16-") (defvar bdf-font-file-alist '((ascii "European/lt1-16-etl.bdf" 0) (latin-iso8859-1 "European/lt1-16-etl.bdf" 1) ; ISO8859-1 (latin-iso8859-2 "European/lt2-16-etl.bdf" 1) ; ISO8859-2 (latin-iso8859-3 "European/lt3-16-etl.bdf" 1) ; ISO8859-3 (latin-iso8859-4 "European/lt4-16-etl.bdf" 1) ; ISO8859-4 (cyrillic-iso8859-5 "European/cyr16-etl.bdf" 1) ; ISO8859-5 (arabic-iso8859-6 "Misc/arab16-0-etl.bdf" 0) ; ISO8859-6 ??? (greek-iso8859-7 "European/grk16-etl.bdf" 1) ; ISO8859-7 (hebrew-iso8859-8 "Misc/heb16-etl.bdf" 1) ; ISO8859-8 (latin-iso8859-9 "European/lt5-16-etl.bdf" 1) ; ISO8859-9 (thai-tis620 "Asian/thai16.bdf" 1) ; TIS620 (katakana-jisx0201 "japanese.X/8x16rk.bdf" 1) ; JISX0201 (latin-jisx0201 "japanese.X/8x16rk.bdf" 0) ; JISX0201 (japanese-jisx0212 "japanese/jksp16.bdf" 0) ; JISX0212 (japanese-jisx0208-1978 "japanese/j78-16.bdf" 0); JISX0208.1978 (japanese-jisx0208 "japanese.X/jiskan16.bdf" 0) ; JISX0208.1983 (japanese-jisx0213-1 "Japanese.X/jiskan16-2000-1.bdf" 0) ; JISX0213-2000(Plane 1) * Mule-UCS が必要です (japanese-jisx0213-2 "Japanese.X/jiskan16-2000-2.bdf" 0) ; JISX0213-2000(Plane 2) * Mule-UCS が必要です (korean-ksc5601 "Korean.X/hanglm16.bdf" 0) ; KSC5601 mincho ;; (korean-ksc5601 "Korean.X/hanglg16.bdf" 0) ; KSC5601 gothic (chinese-gb2312 "Chinese.X/gb16fs.bdf" 0 ) ; GB2312 ??? (chinese-cns11643-1 "Chinese/cns1-16.bdf" 0) ; CNS11643.1992-1 (chinese-cns11643-2 "Chinese/cns2-16.bdf" 0) ; CNS11643.1992-2 (chinese-cns11643-3 "Chinese/cns3-16.bdf" 0) ; CNS11643.1992-3 (chinese-cns11643-4 "Chinese/cns4-16.bdf" 0) ; CNS11643.1992-4 (chinese-cns11643-5 "Chinese/cns5-16.bdf" 0) ; CNS11643.1992-5 (chinese-cns11643-6 "Chinese/cns6-16.bdf" 0) ; CNS11643.1992-6 (chinese-cns11643-7 "Chinese/cns7-16.bdf" 0) ; CNS11643.1992-7 (chinese-big5-1 "Chinese/taipei16.bdf" encode-big5-font) ; Big5 (chinese-big5-2 "Chinese/taipei16.bdf" encode-big5-font) ; Big5 (chinese-sisheng "Chinese/sish16-etl.bdf" 0) ; sisheng_cwnn ??? (vietnamese-viscii-lower "Asian/visc16-etl.bdf" encode-viscii-font) ; VISCII1.1 (vietnamese-viscii-upper "Asian/visc16-etl.bdf" encode-viscii-font) ; VISCII1.1 (arabic-digit "Misc/arab16-0-etl.bdf" 0) ; MuleArabic-0 (arabic-1-column "Misc/arab16-1-etl.bdf" 0) ; MuleArabic-1 (arabic-2-column "Misc/arab16-2-etl.bdf" 0) ; MuleArabic-2 (ipa "Misc/ipa16-etl.bdf" 1) ; MuleIPA (ethiopic "Ethiopic/ethio16f-uni.bdf" encode-ethio-font) ; Ethiopic-Unicode ;; (ascii-right-to-left "European/lt1-16-etl.bdf" 0) ; ISO8859-1 ;; ??? (indian-is13194 "Asian/isci16-mule.bdf" 0) ; IS13194-Devanagari (indian-2-column "Asian/ind16-mule.bdf" 0) ; MuleIndian-2 (indian-1-column "Asian/ind1c16-mule.bdf" 0) ; MuleIndian-1 (lao "Asian/lao16-mule.bdf" 1) ; MuleLao-1 (tibetan "Asian/tib16-mule.bdf" 0) ; MuleTibetan-0 (tibetan-1-column "Asian/tib1c16-mule.bdf" 0) ; MuleTibetan-1 ))
次に, meadow 内で使う w3m を設定するためのファイルである, .emacs-env/.w3m の設定です.
;;; elisp-w3m の設定 (autoload 'w3m "w3m" "Interface for w3m on Emacs." t) (autoload 'w3m-find-file "w3m" "w3m interface function for local file." t) (autoload 'w3m-browse-url "w3m" "Ask a WWW browser to show a URL." t) (autoload 'w3m-search "w3m-search" "Search QUERY using SEARCH-ENGINE." t) (autoload 'w3m-weather "w3m-weather" "Display weather report." t) (autoload 'w3m-antenna "w3m-antenna" "Report chenge of WEB sites." t)
次に, YaTeX モード, および, YaHTML モードの設定をするためのファイル, .emacs-env/.yatex の設定です.
;; -*- mode:lisp -*- ;;; yatex の設定 (cond ((locate-library "yatex") (autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t) ;; 拡張子が .tex のファイルを開くときに yatex-mode にする (setq auto-mode-alist (cons '("\\.tex$" . yatex-mode) auto-mode-alist)) ;; 漢字コードの指定(1=sjis, 2=jis, 3=euc) ;; (setq YaTeX-kanji-code 1) (setq YaTeX-kanji-code 3) ;; 外部コマンドの指定(パスが通ってない場合は絶対パスで記述) ;;(setq tex-command "platex") ;;(setq dvi2-command "dviout") ;;(setq bibtex-command "jbibtex") ;;(setq makeindex-command "mendex") (setq tex-command "platex") (setq dvi2-command "dviout") (setq bibtex-command "jbibtex") (setq makeindex-command "mendex") (setq YaTeX-nervous nil) (setq latex-message-kanji-code 3) ;; yatex-mode 初期化時の設定 (add-hook 'yatex-mode-hook (function (lambda () ;; outline-minor-mode の設定(使用しない場合は不要) (outline-minor-mode t) ; outline-minor-mode を起動 (make-local-variable 'outline-regexp) (setq outline-regexp ; 見出しの正規表現 (concat "[ \t]*\\\\" "\\(appendix\\|documentstyle\\|part\\|chapter\\|" "section\\|subsection\\|subsubsection\\|" "paragraph\\|subparagraph\\)" "\\*?[ \t]*[[{]")) ;; font-lock 用の設定(使用しない場合は不要) (setq YaTeX-use-font-lock t)))))) ;; ;;; 印刷の設定 ;; ;; この設定で M-x print-buffer RET などでの印刷ができるようになります ;; ;; ;; ;; notepad に与えるパラメータの形式の設定 ;; (define-process-argument-editing "notepad" ;; (lambda (x) (general-process-argument-editing-function x nil t))) ;; ;; (defun w32-print-region (start end ;; &optional lpr-prog delete-text buf display ;; &rest rest) ;; (interactive) ;; (let ((tmpfile (expand-file-name (make-temp-name "w32-print-") ;; temporary-file-directory)) ;; (coding-system-for-write w32-system-coding-system)) ;; (write-region start end tmpfile nil 'nomsg) ;; (call-process "notepad" nil nil nil "/p" tmpfile) ;; (and (file-writable-p tmpfile) (delete-file tmpfile)))) ;; ;; (setq print-region-function 'w32-print-region) ;; yahtml の設定 (cond ((locate-library "yahtml") (autoload 'yahtml-mode "yahtml" "Yet Another html mode" t) ;; 拡張子が .html, .htm のファイルを開くときに yahtml-mode にする (setq auto-mode-alist (cons '("\\.[sp]?html?$" . yahtml-mode) auto-mode-alist)) ;; 漢字コードの指定(1=sjis, 2=jis, 3=euc) (setq yahtml-kanji-code 3) ;; 要素名や、属性指定子を小文字にする (setq yahtml-prefer-upcases nil) (setq yahtml-prefer-upcase-attributes nil) ;; 無用な区切り文字を挿入しない (setq yahtml-faithful-to-htmllint t) ;; yahtml モードの起動が遅い場合に次の設定を有効にする ;; アクセス制限ファイル .htaccess を参照しないようにする ;;(setq yahtml-server-type nil) ;; P 要素の終了タグを挿入する (setq yahtml-always-/p t) ;; 外部コマンドの指定(パスが通ってない場合は絶対パスで記述) (setq yahtml-www-browser "fiber") (setq yahtml-lint-program "htmllint -pedantic") (setq yahtml-lint-buffer "*Another HTML-lint*") ;; yahtml-mode 初期化時の設定 (add-hook 'yahtml-mode-hook (function (lambda () ;; outline-minor-mode の設定(使用しない場合は不要) (outline-minor-mode t) ; outline-minor-mode を起動 ;; 見出しの正規表現 (make-local-variable 'outline-regexp) (setq outline-regexp "^.*<[Hh][1-6]\\>") ;; 見出し終わりの正規表現 (make-local-variable 'outline-heading-end-regexp) (setq outline-heading-end-regexp "</[Hh][1-6]>") ;; 見出しレベルの計算式 (make-local-variable 'outline-level) (setq outline-level (function (lambda () (char-after (1- (match-end 0)))))) ;; META 要素内の date に対する, 更新日の自動更新 (set (make-local-variable 'time-stamp-start) (concat "<[Mm][Ee][Tt][Aa][ \t\n\r]+" "\\([Nn][Aa][Mm][Ee]\\|[Hh][Tt][Tt][Pp]-" "[Ee][Qq][Uu][Ii][Vv]\\)" "[ \t\n\r]*=[ \t\n\r]*" "\"\\(date\\|Last-Modified\\)\"[ \t\n\r]+" "[Cc][Oo][Nn][Tt][Ee][Nn][Tt][ \t\n\r]*" "=[ \t\n\r]*\"")) (set (make-local-variable 'time-stamp-format) "%3a, %02d %3b %:y %02H:%02M:%02S %Z") ; rfc1123-date (set (make-local-variable 'time-stamp-line-limit) 30) ;; auto time-stamp (add-hook 'local-write-file-hooks 'time-stamp) (auto-fill-mode) ;; font-lock の設定 (setq YaTeX-use-font-lock t))))))
私が浅学なもので, LISP における CI な正規表現を知らないので, 一部の文が見難くなっています. 各自工夫をして, 簡潔に書いてみましょう.
最後に, .wlの設定です. これはケース・バイ・ケースなので, そのまま写してもダメです. あくまで参考程度にとどめてください. なお, Wanderlust そのものの使い方は, ここでは一切解説しないので, 各自, 調べてください. (私は, Outlook Express に不便を感じたので, Wanderlust に乗り換えました.)
;;; dot.wl -*- emacs-lisp -*- ;; [[ 動作に必要な設定 ]] ;; まず、次の設定を ~/.emacs などに書いてください。 ;; ここから (require 'mime-setup) (autoload 'wl "wl" "Wanderlust" t) (autoload 'wl-draft "wl-draft" "Write draft with Wanderlust." t) ;; ここまで ;; アイコンを置くディレクトリ (XEmacs, Emacs21 のみ) ;; XEmacs の package としてインストールされている場合は必要ありません。 ;(setq wl-icon-dir "/usr/local/lib/emacs/etc") (setq wl-demo-display-logo t) ;;; [[ 個人情報の設定 ]] ;; From: の設定 (setq wl-from "Satoshi NANIGASHI <ark-h@ma4.seikyou.ne.jp>") (setq wl-organization "Somewhere Lab.") ;; 自分のメールアドレスのリスト (setq wl-user-mail-address-list (list (wl-address-header-extract-address wl-from) ;; "e-mail2@example.com" ;; "e-mail3@example.net" ... )) ;; 自分の参加しているメーリングリストのリスト (setq wl-subscribed-mailing-list '("wl@lists.airs.net" "apel-ja@m17n.org" "emacs-mime-ja@m17n.org" ;; "ml@example.com" ... )) ;;; [[ サーバの設定 ]] ;; IMAP サーバの設定 (setq elmo-imap4-default-server "imap4.mail.com") ;; POP サーバの設定 (setq elmo-pop3-default-server "pop3.mail.com") ;; SMTP サーバの設定 (setq wl-smtp-posting-server "smtp.mail.com") ;; ニュースサーバの設定 (setq elmo-nntp-default-server "news.mail.com") ;; 投稿先のニュースサーバ (setq wl-nntp-posting-server elmo-nntp-default-server) ;; (system-name) が FQDN を返さない場合、 ;; `wl-local-domain' にホスト名を除いたドメイン名を設定してください。 ;; (system-name) "." wl-local-domain が Message-ID に使用されます。 (setq wl-local-domain "localdomain.mail.com") ;; ダイヤルアップのための設定 (setq smtp-local-domain "smtp.local.mail.com") ;; Message-ID のドメインパートを強制的に指定 ;(setq wl-message-id-domain "hostname.example.com") ;; IMAP サーバの認証方式の設定 (setq elmo-imap4-default-authenticate-type 'clear) ; 生パスワード ;;(setq elmo-imap4-default-authenticate-type 'cram-md5) ; CRAM-MD5 ;; POP-before-SMTP (setq wl-draft-send-mail-function 'wl-draft-send-mail-with-pop-before-smtp) (setq wl-pop-before-smtp-user 'UserID); ;;; [[ 基本的な設定 ]] ;; `wl-summary-goto-folder' の時に選択するデフォルトのフォルダ ;; (私は, 全て MH 形式で保存しています. ;; mbox 形式だと, 多量のメールの扱いに困る上に, 一箇所が壊れると, ;; 最悪の場合は他のメールも読めなくなるからです.) ;(setq wl-default-folder "+inbox") ;; フォルダ名補完時に使用するデフォルトのスペック ;(setq wl-default-spec "+") ;; Folder Carbon Copy ;(setq wl-fcc "+outbox") ;; 終了時に確認する (setq wl-interactive-exit t) ;; メール送信時には確認する (setq wl-interactive-send t) ;; スレッドは常に開く ;(setq wl-thread-insert-opened t) ;; サマリバッファの左にフォルダバッファを表示する (3ペイン表示) ; t の場合 (setq wl-stay-folder-window nil) ;; ドラフトを新しいフレームで書く ;(setq wl-draft-use-frame t) ;; HTML パートを表示しない ;(setq mime-setup-enable-inline-html nil) ;; 大きいメッセージを送信時に分割しない (setq mime-edit-split-message nil) ;; サブジェクトが変わったらスレッドを切って表示 ;(setq wl-summary-divide-thread-when-subject-changed t) ;; スレッドの見た目を変える ;(setq wl-thread-have-younger-brother-str "+" ; wl-thread-youngest-child-str "+" ; wl-thread-vertical-str "|" ; wl-thread-horizontal-str "-" ; wl-thread-space-str " ") ;; サマリ移動後に先頭メッセージを表示する ;(setq wl-auto-select-first t) ;; サマリ内の移動で未読メッセージがないと次のフォルダに移動する ;(setq wl-auto-select-next t) ;; 未読がないフォルダは飛ばす(SPCキーだけで読み進める場合は便利) ;(setq wl-summary-next-no-unread 'skip-no-unread) ;; 未読メッセージを優先的に読む ;(setq wl-summary-move-order 'unread) ;; メール着信を知らせる (setq wl-biff-check-folder-list '("+inbox")) (setq wl-biff-notify-hook '(ding)) ;;;添付ファイル名に日本語が使われている場合の対策 (eval-after-load "mime" '(defadvice mime-entity-filename (around mime-decode activate) ad-do-it (and ad-return-value (setq ad-return-value (eword-decode-string (decode-mime-charset-string ad-return-value 'iso-2022-jp)))))) ;;; [[ ネットワーク ]] ;; フォルダ種別ごとのキャッシュの設定 ;; (localdir, localnews, maildir はキャッシュできない) ;(setq elmo-archive-use-cache nil) ;(setq elmo-nntp-use-cache t) ;(setq elmo-imap4-use-cache t) ;(setq elmo-pop3-use-cache t) ;; オフライン(unplugged)操作を有効にする(現在はIMAPフォルダのみ) ;(setq elmo-enable-disconnected-operation t) ;; unplugged 状態で送信すると,キュー(`wl-queue-folder')に格納する (setq wl-draft-enable-queuing t) ;; unplugged から plugged に変えたときに,キューにあるメッセージを送信する (setq wl-auto-flush-queue t) ;; 起動時はオフライン状態にする ;(setq wl-plugged nil) ;; 起動時にポートごとのplug状態を変更する ;(add-hook 'wl-make-plugged-hook ; '(lambda () ; ;; server,portのplug状態を新規追加もしくは変更する ; (elmo-set-plugged plugged値(t/nil) server port) ; ;; port を省略するとserverの全portが変更される ; ;; (port を省略して新規の追加はできない) ; (elmo-set-plugged plugged値(t/nil) server) ; )) ;;; [[ 特殊な設定 ]] ;; グループをcheckした後に未読があるフォルダのグループを自動的に開く ;(add-hook 'wl-folder-check-entity-hook ; '(lambda () ; (wl-folder-open-unread-folder entity) ; )) ;; サマリ表示関数を変更する ;; サマリ表示において使用する情報を持つフィールドをoverview情報に ;; 入れる設定(ただし,localフォルダのみ) ;; 自動リファイルに必要なフィールドも設定 (setq elmo-msgdb-extra-fields '("newsgroups" "x-ml-name" "list-id" "x-mail-count" "x-ml-count" "x-sequence" "mailing-list")) ;; ML のメッセージであれば,サマリの Subject 表示に ;; ML名 や MLにおけるメッセージ番号も表示する ;(setq wl-summary-subject-func 'my-wl-summary-subject-func-ml) (setq wl-summary-subject-function 'my-wl-summary-subject-func-ml) (defun my-wl-summary-subject-func-ml (subject-string) (let ((folder wl-summary-buffer-folder-name) (subj subject-string) (sequence) (ml-name) (ml-count)) (setq sequence (elmo-msgdb-overview-entity-get-extra-field entity "x-sequence") ml-name (or (elmo-msgdb-overview-entity-get-extra-field entity "x-ml-name") (and sequence (car (split-string sequence " ")))) ml-count (or (elmo-msgdb-overview-entity-get-extra-field entity "x-mail-count") (elmo-msgdb-overview-entity-get-extra-field entity "x-ml-count") (and sequence (cadr (split-string sequence " "))))) (if (string-match ;;; "^\\s(\\(.+\\)[ :]\\([0-9]+\\)\\s)[ \t]*" "^\\s(\\(\\S)+\\)[ :]\\([0-9]+\\)\\s)[ \t]*" subject-string) (progn (setq subj (substring subject-string (match-end 0))) (if (not ml-name) (setq ml-name (match-string 1 subject-string))) (if (not ml-count) (setq ml-count (match-string 2 subject-string))))) (if (and ml-name ml-count) (if (string= folder wl-default-folder) (format "(%s %05d) %s" (car (split-string ml-name " ")) (string-to-int ml-count) subj) (format "#%05d %s" (string-to-int ml-count) subj)) subj))) ;; imput により非同期で送信する ;; (utils/im-wl.el をインストールしておく必要があります。 ;; また,~/.im/Config の設定(Smtpservers)を忘れないことと, ;; wl-draft-enable-queuing の機能が働かなくなることに注意。) ;(autoload 'wl-draft-send-with-imput-async "im-wl") ;(setq wl-draft-send-func 'wl-draft-send-with-imput-async) ;; 短い User-Agent: フィールドを使う ;(setq wl-generate-mailer-string-func ; (function ; (lambda () ; (wl-generate-user-agent-string-1 nil)))) ;;; [[ テンプレート ]] ;; テンプレートの設定 (setq wl-template-alist '(("default" ("From" . wl-from) ("Organization" . "~/.wl sample") (body . " 何某です。\n")) ;; 本文 ; ("report" ; ("To" . "boss@example.com") ; ("Subject" . "報告") ; (top . "今週の報告です。\n") ;; 本文先頭への挿入 ;; (bottom-file . "~/work/report.txt") ;; 本文末尾へファイルの挿入 ; ) ("private" ("Organization" . "Hokkaidou University") (top . "何某です。\n") (bottom . "--------\n何某哲\nark-h@ma4.seikyou.ne.jp")) ) ;; ドラフトバッファの内容により From や Organization などのヘッダを自 ;; 動的に変更する (setq wl-draft-config-alist '((reply ;; 返信元のバッファを見る "^To: .*\\(test-notsend-wl@lists.airs.net\\)" (template . "default")) ;; テンプレート ("^To: .*\\(test-notsend-wl@lists.airs.net\\)" wl-ml-draft-config-func ;; 関数 ("From" . wl-from) ;; 変数 ("Organization" . "~/.wl sample")) ;; 文字列 ("^Newsgroups: test.*" ("Organization" . "ニュース投稿時の組織名")) )) ;; ドラフト作成時(返信時)に,自動的にヘッダを変更する ;(add-hook 'wl-mail-setup-hook ; '(lambda () ; (unless wl-draft-reedit ; 再編集時は適用しない ; (wl-draft-config-exec wl-draft-config-alist)))) ;;; [[ 返信時の設定 ]] ;; 返信時のウィンドウを広くする ;(setq wl-draft-reply-buffer-style 'full) ;; 返信時のヘッダに相手の名前を入れない。 ;(setq wl-draft-reply-use-address-with-full-name nil) ;; メールの返信時に宛先を付ける方針の設定 ;; 下記変数の alist の要素 ;; ("返信元に存在するフィールド" . ;; ('Toフィールド' 'Ccフィールド' 'Newsgroupsフィールド')) ;; "a" (without-argument)では Reply-To: や From: などで指定された唯一人 ;; または唯一つの投稿先に返信する。また,X-ML-Name: と Reply-To: がつい ;; ているなら Reply-To: 宛にする。 (setq wl-draft-reply-without-argument-list '((("X-ML-Name" "Reply-To") . (("Reply-To") nil nil)) ("X-ML-Name" . (("To" "Cc") nil nil)) ("Followup-To" . (nil nil ("Followup-To"))) ("Newsgroups" . (nil nil ("Newsgroups"))) ("Reply-To" . (("Reply-To") nil nil)) ("Mail-Reply-To" . (("Mail-Reply-To") nil nil)) ("From" . (("From") nil nil)))) ;; "C-u a" (with-argument)であれば関係する全ての人・投稿先に返信する。 (setq wl-draft-reply-with-argument-list '(("Followup-To" . (("From") nil ("Followup-To"))) ("Newsgroups" . (("From") nil ("Newsgroups"))) ("Mail-Followup-To" . (("Mail-Followup-To") nil ("Newsgroups"))) ("From" . (("From") ("To" "Cc") ("Newsgroups"))))) ;; プリフェッチの設定 ; プリフェッチを有効にするフォルダ (setq wl-message-buffer-prefetch-folder-type-list t) ; プリフェッチのサイズ制限. nil なら無限大 (setq wl-message-buffer-prefetch-threshold nil) ;; X-Face を表示する (要 x-face (and x-face-mule)) (when (and window-system (module-installed-p 'x-face)) (cond (wl-on-xemacs ;; for XEmacs (autoload 'x-face-xmas-wl-display-x-face "x-face" nil t) (setq wl-highlight-x-face-function 'x-face-xmas-wl-display-x-face)) ;; for Mule (GNU Emacs) ((module-installed-p 'x-face-mule) ;; x-face-mule 0.20以後 (setq wl-highlight-x-face-function (function (lambda (&rest dummy) (x-face-decode-message-header)))) (require 'x-face-mule) ))) ;; 自動リファイルのルール設定 (setq wl-refile-rule-alist '( ("From" (".*@vector.co.jp" . "+vector") ("ark-h@ma4.seikyou.ne.jp" . "+sent-mail") ("Subject" (".*Weekly Mag2.*" . "+magmag")) ("To" ("htmllint@ring.gr.jp" . "+htmllint")) ("x-ml-name" ("^Meadow" . "+meadow") ("^Wanderlust" . "+wanderlust") ("^Elisp" . "+elisp")))) ;; 自動リファイルしない永続マークを設定 ;; 標準では "N" "U" "!" になっており、未読メッセージを自動リファイルし ;; ません。nil ですべてのメッセージが対象になります。 (setq wl-summary-auto-refile-skip-marks nil) ;; 自分宛にBccで送る (setq wl-bcc "ark-h@ma4.seikyou.ne.jp") ;; GnuPG の設定 (setq pgp-version 'gpg) (setq pgg-default-user-id "Satoshi NANIGASHI <ark-h@ma4.seikyou.ne.jp>") (setq pgg-cache-passphrase nil) (setq pgg-gpg-shell-file-name "/bin/bash") (setq pgg-gpg-program "/usr/bin/gpg") ;; 自動削除の設定 ; 自動削除のログを取る (setq wl-expire-use-log t) ; 削除の設定 (setq wl-expire-alist '(("^\\+magmag$" (date 7) trash) ;; ゴミ箱へ移動 ("^\\+vector$" (date 14) trash) ("^\\+trash$" (date 21) remove) ;; 削除 )) ;; スコア機能の設定 ;; `wl-score-folder-alist' の設定に関わらず必ず "all.SCORE" は使用される。 ;(setq wl-score-folder-alist ; '(("^-comp\\." ; "news.comp.SCORE" ; "news.SCORE") ; ("^-" ; "news.SCORE"))) ;; スコアファイルを保存するディレクトリ ; (setq wl-score-files-directory "~/.elmo/") ;;; dot.wl ends here
以上で設定は終わりです.