; -*- Mode: Emacs-Lisp ; Coding: utf-8 -*- ;; 起動時間を測定 (defun my-time-lag () (let* ((now (current-time)) (min (- (car now) (car my-time-zero))) (sec (- (car (cdr now)) (car (cdr my-time-zero)))) (msec (/ (- (car (cdr (cdr now))) (car (cdr (cdr my-time-zero)))) 1000)) (lag (+ (* 60000 min) (* 1000 sec) msec))) (message "'.emacs.el' loading time: %d msec." lag))) (setq my-time-zero (current-time)) ;; ------------------------------------------------------------------------ ;; @ coding system ;; 日本語入力のための設定 (set-keyboard-coding-system 'japanese-shift-jis) ;; ------------------------------------------------------------------------ ;; @ ime ;; 標準IMEの設定 (setq default-input-method "W32-IME") ;; IMEの初期化 (w32-ime-initialize) ;; IME OFF時の初期カーソルカラー (set-cursor-color "red") ;; IME ON/OFF時のカーソルカラー (add-hook 'input-method-activate-hook (lambda() (set-cursor-color "green"))) (add-hook 'input-method-inactivate-hook (lambda() (set-cursor-color "red"))) ;; バッファ切り替え時にIME状態を引き継ぐ (setq w32-ime-buffer-switch-p nil) ;; ------------------------------------------------------------------------ ;; @ encode ;; 機種依存文字 (require 'cp5022x) (define-coding-system-alias 'euc-jp 'cp51932) ;; decode-translation-table の設定 (coding-system-put 'euc-jp :decode-translation-table (get 'japanese-ucs-jis-to-cp932-map 'translation-table)) (coding-system-put 'iso-2022-jp :decode-translation-table (get 'japanese-ucs-jis-to-cp932-map 'translation-table)) (coding-system-put 'utf-8 :decode-translation-table (get 'japanese-ucs-jis-to-cp932-map 'translation-table)) ;; encode-translation-table の設定 (coding-system-put 'euc-jp :encode-translation-table (get 'japanese-ucs-cp932-to-jis-map 'translation-table)) (coding-system-put 'iso-2022-jp :encode-translation-table (get 'japanese-ucs-cp932-to-jis-map 'translation-table)) (coding-system-put 'cp932 :encode-translation-table (get 'japanese-ucs-jis-to-cp932-map 'translation-table)) (coding-system-put 'utf-8 :encode-translation-table (get 'japanese-ucs-jis-to-cp932-map 'translation-table)) ;; charset と coding-system の優先度設定 (set-charset-priority 'ascii 'japanese-jisx0208 'latin-jisx0201 'katakana-jisx0201 'iso-8859-1 'cp1252 'unicode) (set-coding-system-priority 'utf-8 'euc-jp 'iso-2022-jp 'cp932) ;; PuTTY 用の terminal-coding-system の設定 (apply 'define-coding-system 'utf-8-for-putty "UTF-8 (translate jis to cp932)" :encode-translation-table (get 'japanese-ucs-jis-to-cp932-map 'translation-table) (coding-system-plist 'utf-8)) (set-terminal-coding-system 'utf-8-for-putty) ;; East Asian Ambiguous (defun set-east-asian-ambiguous-width (width) (while (char-table-parent char-width-table) (setq char-width-table (char-table-parent char-width-table))) (let ((table (make-char-table nil))) (dolist (range '(#x00A1 #x00A4 (#x00A7 . #x00A8) #x00AA (#x00AD . #x00AE) (#x00B0 . #x00B4) (#x00B6 . #x00BA) (#x00BC . #x00BF) #x00C6 #x00D0 (#x00D7 . #x00D8) (#x00DE . #x00E1) #x00E6 (#x00E8 . #x00EA) (#x00EC . #x00ED) #x00F0 (#x00F2 . #x00F3) (#x00F7 . #x00FA) #x00FC #x00FE #x0101 #x0111 #x0113 #x011B (#x0126 . #x0127) #x012B (#x0131 . #x0133) #x0138 (#x013F . #x0142) #x0144 (#x0148 . #x014B) #x014D (#x0152 . #x0153) (#x0166 . #x0167) #x016B #x01CE #x01D0 #x01D2 #x01D4 #x01D6 #x01D8 #x01DA #x01DC #x0251 #x0261 #x02C4 #x02C7 (#x02C9 . #x02CB) #x02CD #x02D0 (#x02D8 . #x02DB) #x02DD #x02DF (#x0300 . #x036F) (#x0391 . #x03A9) (#x03B1 . #x03C1) (#x03C3 . #x03C9) #x0401 (#x0410 . #x044F) #x0451 #x2010 (#x2013 . #x2016) (#x2018 . #x2019) (#x201C . #x201D) (#x2020 . #x2022) (#x2024 . #x2027) #x2030 (#x2032 . #x2033) #x2035 #x203B #x203E #x2074 #x207F (#x2081 . #x2084) #x20AC #x2103 #x2105 #x2109 #x2113 #x2116 (#x2121 . #x2122) #x2126 #x212B (#x2153 . #x2154) (#x215B . #x215E) (#x2160 . #x216B) (#x2170 . #x2179) (#x2190 . #x2199) (#x21B8 . #x21B9) #x21D2 #x21D4 #x21E7 #x2200 (#x2202 . #x2203) (#x2207 . #x2208) #x220B #x220F #x2211 #x2215 #x221A (#x221D . #x2220) #x2223 #x2225 (#x2227 . #x222C) #x222E (#x2234 . #x2237) (#x223C . #x223D) #x2248 #x224C #x2252 (#x2260 . #x2261) (#x2264 . #x2267) (#x226A . #x226B) (#x226E . #x226F) (#x2282 . #x2283) (#x2286 . #x2287) #x2295 #x2299 #x22A5 #x22BF #x2312 (#x2460 . #x24E9) (#x24EB . #x254B) (#x2550 . #x2573) (#x2580 . #x258F) (#x2592 . #x2595) (#x25A0 . #x25A1) (#x25A3 . #x25A9) (#x25B2 . #x25B3) (#x25B6 . #x25B7) (#x25BC . #x25BD) (#x25C0 . #x25C1) (#x25C6 . #x25C8) #x25CB (#x25CE . #x25D1) (#x25E2 . #x25E5) #x25EF (#x2605 . #x2606) #x2609 (#x260E . #x260F) (#x2614 . #x2615) #x261C #x261E #x2640 #x2642 (#x2660 . #x2661) (#x2663 . #x2665) (#x2667 . #x266A) (#x266C . #x266D) #x266F #x273D (#x2776 . #x277F) (#xE000 . #xF8FF) (#xFE00 . #xFE0F) #xFFFD )) (set-char-table-range table range width)) (optimize-char-table table) (set-char-table-parent table char-width-table) (setq char-width-table table))) (set-east-asian-ambiguous-width 2) ;; emacs-w3m (eval-after-load "w3m" '(when (coding-system-p 'cp51932) (add-to-list 'w3m-compatible-encoding-alist '(euc-jp . cp51932)))) ;; Gnus (eval-after-load "mm-util" '(when (coding-system-p 'cp50220) (add-to-list 'mm-charset-override-alist '(iso-2022-jp . cp50220)))) ;; SEMI (cf. http://d.hatena.ne.jp/kiwanami/20091103/1257243524) (eval-after-load "mcs-20" '(when (coding-system-p 'cp50220) (add-to-list 'mime-charset-coding-system-alist '(iso-2022-jp . cp50220)))) ;; 全角チルダ/波ダッシュをWindowsスタイルにする (let ((table (make-translation-table-from-alist '((#x301c . #xff5e))) )) (mapc (lambda (coding-system) (coding-system-put coding-system :decode-translation-table table) (coding-system-put coding-system :encode-translation-table table) ) '(utf-8 cp932 utf-16le))) ;; ------------------------------------------------------------------------ ;; @ font ;; 標準フォントの設定 ;; (set-default-font "M+2VM+IPAG circle-12") ;; IME変換時フォントの設定(テストバージョンのみ) ;; (setq w32-ime-font-face "M+2VM+IPAG circle") ;; (setq w32-ime-font-height 18) ;; 固定等幅フォントの設定 ;; (set-face-attribute 'fixed-pitch nil :family "M+2VM+IPAG circle") ;; 可変幅フォントの設定 ;; (set-face-attribute 'variable-pitch nil :family "M+2VM+IPAG circle") ;; ------------------------------------------------------------------------ ;; @ frame ;; フレームタイトルの設定 (setq frame-title-format "%b") ;; ------------------------------------------------------------------------ ;; @ buffer ;; バッファ画面外文字の切り詰め表示 (setq truncate-lines nil) ;; ウィンドウ縦分割時のバッファ画面外文字の切り詰め表示 (setq truncate-partial-width-windows t) ;; 同一バッファ名にディレクトリ付与 (require 'uniquify) (setq uniquify-buffer-name-style 'forward) (setq uniquify-buffer-name-style 'post-forward-angle-brackets) (setq uniquify-ignore-buffers-re "*[^*]+*") ;; ------------------------------------------------------------------------ ;; @ fringe ;; バッファ中の行番号表示 (global-linum-mode t) ;; 行番号のフォーマット (set-face-attribute 'linum nil :foreground "red" :height 0.8) (setq linum-format "%4d") ;; ------------------------------------------------------------------------ ;; @ modeline ;; 行番号の表示 (line-number-mode t) ;; 列番号の表示 (column-number-mode t) ;; 時刻の表示 (require 'time) (setq display-time-24hr-format t) (setq display-time-string-forms '(24-hours ":" minutes)) (display-time-mode t) ;; cp932エンコード時の表示を「P」とする (coding-system-put 'cp932 :mnemonic ?P) (coding-system-put 'cp932-dos :mnemonic ?P) (coding-system-put 'cp932-unix :mnemonic ?P) (coding-system-put 'cp932-mac :mnemonic ?P) ;; ------------------------------------------------------------------------ ;; @ cursor ;; カーソル点滅表示 (blink-cursor-mode 0) ;; スクロール時のカーソル位置の維持 (setq scroll-preserve-screen-position t) ;; スクロール行数(一行ごとのスクロール) (setq vertical-centering-font-regexp ".*") (setq scroll-conservatively 35) (setq scroll-margin 0) (setq scroll-step 1) ;; 画面スクロール時の重複行数 (setq next-screen-context-lines 1) ;; ------------------------------------------------------------------------ ;; @ default setting ;; 起動メッセージの非表示 (setq inhibit-startup-message t) ;; スタートアップ時のエコー領域メッセージの非表示 (setq inhibit-startup-echo-area-message -1) ;; ------------------------------------------------------------------------ ;; @ backup ;; 変更ファイルのバックアップ (setq make-backup-files nil) ;; 変更ファイルの番号つきバックアップ (setq version-control nil) ;; 編集中ファイルのバックアップ (setq auto-save-list-file-name nil) (setq auto-save-list-file-prefix nil) ;; 編集中ファイルのバックアップ先 (setq auto-save-file-name-transforms `((".*" ,temporary-file-directory t))) ;; 編集中ファイルのバックアップ間隔(秒) (setq auto-save-timeout 30) ;; 編集中ファイルのバックアップ間隔(打鍵) (setq auto-save-interval 500) ;; バックアップ世代数 (setq kept-old-versions 1) (setq kept-new-versions 2) ;; 上書き時の警告表示 ;- (setq trim-versions-without-asking nil) ;; 古いバックアップファイルの削除 (setq delete-old-versions t) ;; ------------------------------------------------------------------------ ;; @ key bind ;; 標準キーバインド変更 (global-set-key "\C-z" 'scroll-down) ;; ------------------------------------------------------------------------ ;; @ hiwin-mode (require 'hiwin) ;; 非アクティブwindowの背景色(hiwin-modeの実行前に設定が必要) (setq hiwin-deactive-color "gray30") ;; hiwin-modeを有効にする (hiwin-mode) ;; ------------------------------------------------------------------------ ;; @ tabbar ; (require 'cl) ; (require 'tabbar) ; ; ;; scratch buffer 以外をまとめてタブに表示する ; (setq tabbar-buffer-groups-function ; (lambda (b) (list "All Buffers"))) ; (setq tabbar-buffer-list-function ; (lambda () ; (remove-if ; (lambda(buffer) ; (unless (string-match (buffer-name buffer) "\\(*scratch*\\|*Apropos*\\|*shell*\\|*eshell*\\|*Customize\\)") ; (find (aref (buffer-name buffer) 0) " *")) ; ) ; (buffer-list)))) ; ; ;; tabbarを有効にする ; (tabbar-mode) ; ; ;; ボタンをシンプルにする ; (setq tabbar-home-button-enabled "") ; (setq tabbar-scroll-right-button-enabled "") ; (setq tabbar-scroll-left-button-enabled "") ; (setq tabbar-scroll-right-button-disabled "") ; (setq tabbar-scroll-left-button-disabled "") ; ; ;; Ctrl-Tab, Ctrl-Shift-Tab でタブを切り替える ; (dolist (func '(tabbar-mode tabbar-forward-tab tabbar-forward-group tabbar-backward-tab tabbar-backward-group)) ; (autoload func "tabbar" "Tabs at the top of buffers and easy control-tab navigation")) ; (defmacro defun-prefix-alt (name on-no-prefix on-prefix &optional do-always) ; `(defun ,name (arg) ; (interactive "P") ; ,do-always ; (if (equal nil arg) ; ,on-no-prefix ; ,on-prefix))) ; (defun-prefix-alt shk-tabbar-next (tabbar-forward-tab) (tabbar-forward-group) (tabbar-mode 1)) ; (defun-prefix-alt shk-tabbar-prev (tabbar-backward-tab) (tabbar-backward-group) (tabbar-mode 1)) ; (global-set-key [(control tab)] 'shk-tabbar-next) ; (global-set-key [(control shift tab)] 'shk-tabbar-prev) ;; ------------------------------- ;; ------------------------------- ;; ------------------------------- ;; ------------------------------- ;; ------------------------------- ;; 基本設定 ;; ------------------------------- (setq inhibit-startup-message t) ; スタートアップ時のメッセージを抑制 (setq initial-scratch-message nil) ; 起動時のscratch のメッセージを空にする (tool-bar-mode nil) ; メニューバー、ツールバー非表示 (scroll-bar-mode t) ; スクロールバーの表示 (setq visible-bell nil) ; ヴィジブルベルを抑制 (setq ring-bell-function '(lambda ())) ; ビープ音を抑制 (iswitchb-mode) ; buffer切り替えを使い易く ; C-f, C-b, C-n, C-p で候補を切り替えることができるように。 (add-hook 'iswitchb-define-mode-map-hook (lambda () (define-key iswitchb-mode-map "\C-n" 'iswitchb-next-match) (define-key iswitchb-mode-map "\C-p" 'iswitchb-prev-match) (define-key iswitchb-mode-map "\C-f" 'iswitchb-next-match) (define-key iswitchb-mode-map "\C-b" 'iswitchb-prev-match) )) ; *scratch* バッファを消さない (defun my-make-scratch (&optional arg) (interactive) (progn ;; "*scratch*" を作成して buffer-list に放り込む (set-buffer (get-buffer-create "*scratch*")) (funcall initial-major-mode) (erase-buffer) (when (and initial-scratch-message (not inhibit-startup-message)) (insert initial-scratch-message)) (or arg (progn (setq arg 0) (switch-to-buffer "*scratch*"))) (cond ((= arg 0) (message "*scratch* is cleared up.")) ((= arg 1) (message "another *scratch* is created"))))) (add-hook 'kill-buffer-query-functions ;; *scratch* バッファで kill-buffer したら内容を消去するだけにする (lambda () (if (string= "*scratch*" (buffer-name)) (progn (my-make-scratch 0) nil) t))) (add-hook 'after-save-hook ;; *scratch* バッファの内容を保存したら *scratch* バッファを新しく作る (lambda () (unless (member (get-buffer "*scratch*") (buffer-list)) (my-make-scratch 1)))) ; 日本語補完を賢く ; http://namazu.org/~tsuchiya/elisp/dabbrev-ja.el ; http://www.namazu.org/~tsuchiya/elisp/dabbrev-highlight.el (load "dabbrev-ja") (require 'dabbrev-highlight) ; カーソル行にアンダーラインを引く (setq hl-line-face 'underline) (global-hl-line-mode) ; M-x にインクリメンタルサーチを付ける ; http://homepage1.nifty.com/bmonkey/emacs/elisp/mcomplete.el (require 'mcomplete) (turn-on-mcomplete-mode) ; shell 設定 (setq process-coding-system-alist '(("bash" . undecided-unix))) (setq shell-file-name "bash") (setenv "SHELL" shell-file-name) (setq explicit-shell-file-name shell-file-name) ;; ------------------------------- ;; キー設定 ;; ------------------------------- (global-set-key "\C-z" 'scroll-down) (global-set-key "\C-x\C-b" 'buffer-menu) ; バッファ一覧を使い易く (global-set-key "\C-h" 'delete-backward-char) ; C-hをバックスペースに (define-key global-map "\C-x\C-h" 'help-command) ; C-h に割り当てられている関数 help-command を C-x C-h に割り当てる ;(global-set-key "\C-o" 'canna-toggle-japanese-mode) ; 日本語変換ON/OFF; ;; ------------------------------- ;; Wanderlust ;; APEL http://www.kanji.zinbun.kyoto-u.ac.jp/~tomo/elisp/APEL/ ;; LIMIT ftp://ftp.jpl.org/pub/m17n/ ;; SEMI http://www.kanji.zinbun.kyoto-u.ac.jp/~tomo/elisp/SEMI/ ;; OpenSSL http://sourceforge.jp/projects/gnupack/downloads/47925/openssl-0.9.8o-1.tar.bz2/ ;; WANDERLUST http://www.gohome.org/wl/index.ja.html ;; ------------------------------- (autoload 'wl "wl" "Wanderlust" t) (autoload 'wl-other-frame "wl" "Wanderlust on new frame." t) (autoload 'wl-draft "wl-draft" "Write draft with Wanderlust." t) (require 'ssl) (setq ssl-program-name "openssl") (setq ssl-program-arguments '("s_client" "-quiet" "-host" host "-port" service)) (setq wl-message-id-domain "fqdn.domain.com") (setq wl-from "user <user@example.com>") ;; IMAP サーバの設定 (setq elmo-imap4-default-server "imap.gmail.com") (setq elmo-imap4-default-user "xxxxxxxxxx@gmail.com") (setq elmo-imap4-default-authenticate-type 'clear) (setq elmo-imap4-default-port '993) (setq elmo-imap4-default-stream-type 'ssl) (setq elmo-imap4-use-modified-utf7 t) ; 日本語フォルダ対策 ;; SMTP サーバの設定 ;(setq wl-smtp-connection-type 'starttls) ;(setq wl-smtp-posting-port 587) ;(setq wl-smtp-authenticate-type "plain") ;(setq wl-smtp-posting-user "user") ; ユーザ名 ;(setq wl-smtp-posting-server "smtp.gmail.com") ;(setq wl-local-domain "gmail.com") ;; デフォルトのフォルダ (setq wl-default-folder "%inbox") ;; フォルダ名補完時に使用するデフォルトのスペック (setq wl-default-spec "%") ;(setq wl-draft-folder "%[Gmail]/Drafts") ; Gmail IMAPの仕様に合わせて ;(setq wl-trash-folder "%[Gmail]/Trash") (setq wl-folder-check-async t) ; 非同期でチェックするように (setq mail-self-blind t) ; 自動でBCCを付ける (setq wl-bcc "xxxxx@gmail.com") ; BCC送付先アドレス ; とりあえず全部非表示 (setq wl-message-ignored-field-list '(".*")) ; 必要そうなものだけ表示に変える ;(setq wl-message-visible-field-list '("^To" ; "^From" ; "^Subject" ; "^Date" ; "^Cc")) ; サマリモードの形式 (setq wl-summary-line-format "%n %T%P%@ %M/%D(%W) %h:%m %-6S %t%[%25(%c %f%) %] %s") ; フォルダとサマリで選択したラインの背景色を変える ;(custom-set-faces ; '(wl-highlight-folder-path-face ((t (:underline t)))) ; '(wl-highlight-summary-displaying-face ((t (:background "light goldenrod")))) ; ) ; 添付ファイルの保存先を変更する (setq mime-save-directory "c:/gnupack/home/tmp") ; 起動時にはオフライン状態にする (setq wl-plugged nil) ; サマリ表示行を増やす (setq wl-summary-width nil) (setq wl-subject-length-limit nil) ; 終了時に確認しない (setq wl-interactive-exit nil) ; メール送信時には確認する (setq wl-interactive-send t) ; 大きいメッセージを送信時に分割しない (setq mime-edit-split-message nil) ; 日本語添付ファイルの余分な文字を削除する。 (modify-coding-system-alist 'process ".*sh\\.exe" '(sjis-dos . sjis-unix)) (defun shell-quote-argument (file) file) (eval-after-load "mime-conf" '(defadvice mime-format-mailcap-command (after remove-escape-chars activate) "Remove all '\\' characters in return value of mime-format-mailcap-command " (while (string-match "\\\\" ad-return-value) (setq ad-return-value (replace-match "" nil t ad-return-value))))) ;; ------------------------------- ;; navi2ch ;; http://navi2ch.sourceforge.net/ ;; ------------------------------- (autoload 'navi2ch "navi2ch" "Navigator for 2ch for Emacs" t) (setq navi2ch-ask-when-exit nil) ; 終了時に訪ねない (setq navi2ch-message-user-name "") ; スレのデフォルト名を使う (setq navi2ch-net-save-old-file-when-aborn nil) ; あぼーんがあったたき元のファイルは保存しない (setq navi2ch-message-ask-before-send nil) ; 送信時に訪ねない (setq navi2ch-message-ask-before-kill nil) ; kill するときに訪ねない (setq navi2ch-article-max-buffers 5) ; バッファは 5 つまで (setq navi2ch-article-auto-expunge t) ; navi2ch-article-max-buffers を超えたら古いバッファは消す (setq navi2ch-board-insert-subject-with-diff t) ; Board モードのレス数欄にレスの増加数を表示する。 (setq navi2ch-board-insert-subject-with-unread t) ; Board モードのレス数欄にレスの未読数を表示する。 (setq navi2ch-article-exist-message-range '(1 . 1000)) ; 既読スレはすべて表示 (setq navi2ch-article-new-message-range '(1000 . 1)) ; 未読スレもすべて表示 (setq navi2ch-list-stay-list-window nil) ; 3 ペインモードでみる (global-set-key "\C-c2" 'navi2ch) ; C-c 2 で起動 ;; ------------------------------- ;; ファイラー関連 dired ;; ------------------------------- (load "dired-x") ; http://uenox.ld.infoseek.co.jp/elisp/uenox-dired.el ; Dired に以下の3つの機能が追加されます。(キーマップはこのファイルの ; 最後の方を書き換えることで変更できます。) ; * C-j ; 現在の行のファイルをWindowsに関連付けられたアプリケーションを使っ ; て開きます。(わざわざエクスプローラーを開かなくて良くなります。) ; * w ; 現在の行のファイル名をUNIX形式にてコピーします。 ; * W ; 現在の行のファイル名をDOS形式にてコピーします。 (load "uenox-dired") ; スペースでマークする (FD like) (define-key dired-mode-map " " 'dired-toggle-mark) (defun dired-toggle-mark (arg) (interactive "P") (let ((dired-marker-char (if (save-excursion (beginning-of-line) (looking-at " ")) dired-marker-char ?\040))) (dired-mark arg) (dired-previous-line 1))) ; 再帰的なコピー/削除を行う (setq dired-recursive-copies 'always) (setq dired-recursive-deletes 'always) ;; ------------------------------- ;; emacs-w3m ;; ftp://ftp.jaist.ac.jp/pub/cygwin/release/w3m/w3m-0.5.1-2.tar.bz2 ;; http://emacs-w3m.namazu.org/index-ja.html ;; ------------------------------- (require 'w3m-load) ;; ------------------------------- ;; SLIME & SBCL ;; SBCL http://www.sbcl.org/ ;; SLIME http://common-lisp.net/project/slime/ ;; ------------------------------- (add-to-list 'load-path "~/.emacs.d/slime-2010-07-11") (add-to-list 'load-path "~/.emacs.d/slime-2010-07-11/contrib") ; sbclのパスを記述 (setq inferior-lisp-program "sbcl") (setq slime-net-coding-system 'utf-8-unix) (add-hook 'lisp-mode-hook (lambda () (slime-mode t) (show-paren-mode))) (require 'slime) (slime-setup '(slime-repl)) ; C-c L で slimeを起動 (defun my-slime (&optional command coding-system) (interactive) (switch-to-buffer-other-window (get-buffer-create "*lisp*")) (slime command coding-system)) (global-set-key "\C-cL" 'my-slime) ; slimeバッファを切換え (global-set-key "\C-cs" 'slime-selector) ;; HyperSpecのパスを指定 (require 'hyperspec) (setq common-lisp-hyperspec-root "file:///cygdrive/c/gnupack/home/.emacs.d/HyperSpec/" common-lisp-hyperspec-symbol-table (expand-file-name "~/.emacs.d/HyperSpec/Data/MapSym.txt")) ;; HyperSpecをemacs-w3mで起動 (defadvice common-lisp-hyperspec (around hyperspec-lookup-w3m () activate) (let* ((window-configuration (current-window-configuration)) (browse-url-browser-function `(lambda (url new-window) (w3m-browse-url url nil) (let ((hs-map (copy-keymap w3m-mode-map))) (define-key hs-map (kbd "q") (lambda () (interactive) (kill-buffer nil) (set-window-configuration ,window-configuration))) (use-local-map hs-map))))) ad-do-it)) ;; 検索したい関数の上で C-c H で検索する。 (global-set-key "\C-cH" 'hyperspec-lookup) ;; ------------------------------- ;; changelog memo ;; http://pop-club.hp.infoseek.co.jp/emacs/clmemo-1.0.tar.gz ;; http://pop-club.hp.infoseek.co.jp/emacs/blgrep/blgrep-0.2.tar.gz ;; ------------------------------- (autoload 'clmemo "clmemo" "ChangeLog memo mode." t) (setq clmemo-file-name "~/clmemo.txt") (global-set-key "\C-xM" 'clmemo) (autoload 'clgrep "clgrep" "ChangeLog grep." t) (autoload 'clgrep-item "clgrep" "ChangeLog grep." t) (autoload 'clgrep-item-header "clgrep" "ChangeLog grep for item header" t) (autoload 'clgrep-item-tag "clgrep" "ChangeLog grep for tag" t) (autoload 'clgrep-item-notag "clgrep" "ChangeLog grep for item except for tag" t) (autoload 'clgrep-item-nourl "clgrep" "ChangeLog grep item except for url" t) (autoload 'clgrep-entry "clgrep" "ChangeLog grep for entry" t) (autoload 'clgrep-entry-header "clgrep" "ChangeLog grep for entry header" t) (autoload 'clgrep-entry-no-entry-header "clgrep" "ChangeLog grep for entry except entry header" t) (autoload 'clgrep-entry-tag "clgrep" "ChangeLog grep for tag" t) (autoload 'clgrep-entry-notag "clgrep" "ChangeLog grep for tag" t) (autoload 'clgrep-entry-nourl "clgrep" "ChangeLog grep entry except for url" t) (add-hook 'clmemo-mode-hook '(lambda () (define-key clmemo-mode-map "\C-c\C-g" 'clgrep))) ;; ------------------------------- ;; 最後に実行 ;; ------------------------------- (cd "~") ; 起動時にホームディレクトリへ移動 (my-time-lag) ; 起動時間の測定
gnupack + NTEmacs23 のdot.emacs
Tweet
今日のところはこんな感じで落ち着いた。