;;;; -*- mode: emacs-lisp; coding: iso-2022-7bit -*- ;;;; ;;;; Copyright (C) 2001 The Meadow Team ;; Author: Koichiro Ohba ;; Kyotaro HORIGUCHI ;; Hideyuki SHIRAI ;; KOSEKI Yoshinori ;; and The Meadow Team. ;; ;;; Mule-UCS の設定 ;; ;; ftp://ftp.m17n.org/pub/mule/Mule-UCS/ が オフィシャルサイトですが、 ;; ;; http://www.meadowy.org/~shirai/elisp/mule-ucs.tar.gz に既知のパッチ ;; ;; をすべて適用したものがおいてあります。 ;; ;; (set-language-environment) の前に設定します ;; (require 'jisx0213) (require 'un-define) (require 'jisx0213) ;;; 日本語環境設定 (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)))) ;; ;;; カーソルの設定 ;; ;; (set-cursor-type 'box) ; Meadow-1.10互換 (SKK等で色が変る設定) ;; ;; (set-cursor-type 'hairline-caret) ; 縦棒キャレット ;;; マウスカーソルを消す設定 (setq w32-hide-mouse-on-key t) (setq w32-hide-mouse-timeout 5000) ;;; font-lockの設定 (global-font-lock-mode t) ;; ;;; TrueType フォント設定 ;; (w32-add-font ;; "private-fontset" ;; '((spec ;; ((:char-spec ascii :height 120) ;; strict ;; (w32-logfont "Courier New" 0 -13 400 0 nil nil nil 0 1 3 49)) ;; ((:char-spec ascii :height 120 :weight bold) ;; strict ;; (w32-logfont "Courier New" 0 -13 700 0 nil nil nil 0 1 3 49)) ;; ((:char-spec ascii :height 120 :slant italic) ;; strict ;; (w32-logfont "Courier New" 0 -13 400 0 t nil nil 0 1 3 49)) ;; ((:char-spec ascii :height 120 :weight bold :slant italic) ;; strict ;; (w32-logfont "Courier New" 0 -13 700 0 t nil nil 0 1 3 49)) ;; ((:char-spec japanese-jisx0208 :height 120) ;; strict ;; (w32-logfont "MS ゴシック" 0 -16 400 0 nil nil nil 128 1 3 49)) ;; ((:char-spec japanese-jisx0208 :height 120 :weight bold) ;; strict ;; (w32-logfont "MS ゴシック" 0 -16 700 0 nil nil nil 128 1 3 49) ;; ((spacing . -1))) ;; ((:char-spec japanese-jisx0208 :height 120 :slant italic) ;; strict ;; (w32-logfont "MS ゴシック" 0 -16 400 0 t nil nil 128 1 3 49)) ;; ((:char-spec japanese-jisx0208 :height 120 :weight bold :slant italic) ;; strict ;; (w32-logfont "MS ゴシック" 0 -16 700 0 t nil nil 128 1 3 49) ;; ((spacing . -1)))))) ;; (set-face-attribute 'variable-pitch nil :family "*") ;; ;;; BDF フォント設定 ;; ;; ;;; (方法その1) Netinstall パッケージを使う方法 ;; ;;; misc と intlfonts パッケージを入れます。 ;; ;;; .emacsの設定 ;; (setq bdf-use-intlfonts16 t) ;; (setq initial-frame-alist '((font . "intlfonts16"))) ;; ;; ;;; (方法その1') ;; ;;; intlfonts-file-16dot-alist の形式で bdf-fontset-alist を書き、 ;; ;;; 次を設定すれば良い。 ;; ;;; (require 'bdf) ;; ;;; (bdf-configure-fontset "bdf-fontset" bdf-fontset-alist) ;; ;;; 詳細は $MEADOW/pkginfo/auto-autoloads.el と $MEADOW/site-lisp/bdf.el を ;; ;;; 参照のこと。 ;; ;; ;;; (方法その2) ;; ;;; フォントの指定方法は次のサンプルを参考にする。 ;; ;;; normal, bold, italic, bold-itaric フォントを指定する必要あり。 ;; (setq bdf-font-directory "c:/Meadow/fonts/intlfonts/") ;; (w32-add-font "bdf-fontset" ;; `((spec ;; ;; ascii ;; ((:char-spec ascii :height any :weight normal :slant normal) ;; strict (bdf-font ,(expand-file-name "lt1-16-etl.bdf" bdf-font-directory))) ;; ((:char-spec ascii :height any :weight bold :slant normal) ;; strict (bdf-font ,(expand-file-name "lt1-16b-etl.bdf" bdf-font-directory))) ;; ((:char-spec ascii :height any :weight normal :slant any) ;; strict (bdf-font ,(expand-file-name "lt1-16i-etl.bdf" bdf-font-directory))) ;; ((:char-spec ascii :height any :weight bold :slant any) ;; strict (bdf-font ,(expand-file-name "lt1-16bi-etl.bdf" bdf-font-directory))) ;; ;; katakana-jisx0201 ;; ((:char-spec katakana-jisx0201 :height any :weight normal :slant normal) ;; strict (bdf-font ,(expand-file-name "8x16rk.bdf" bdf-font-directory)) ;; ((encoding . 1-byte-set-msb))) ;; ((:char-spec katakana-jisx0201 :height any :weight bold :slant normal) ;; strict (bdf-font ,(expand-file-name "8x16rk.bdf" bdf-font-directory)) ;; ((encoding . 1-byte-set-msb))) ;; ((:char-spec katakana-jisx0201 :height any :weight normal :slant any) ;; strict (bdf-font ,(expand-file-name "8x16rk.bdf" bdf-font-directory)) ;; ((encoding . 1-byte-set-msb))) ;; ((:char-spec katakana-jisx0201 :height any :weight bold :slant any) ;; strict (bdf-font ,(expand-file-name "8x16rk.bdf" bdf-font-directory)) ;; ((encoding . 1-byte-set-msb))) ;; ;; latin-jisx0201 ;; ((:char-spec latin-jisx0201 :height any :weight normal :slant normal) ;; strict (bdf-font ,(expand-file-name "8x16rk.bdf" bdf-font-directory))) ;; ((:char-spec latin-jisx0201 :height any :weight bold :slant normal) ;; strict (bdf-font ,(expand-file-name "8x16rk.bdf" bdf-font-directory))) ;; ((:char-spec latin-jisx0201 :height any :weight normal :slant any) ;; strict (bdf-font ,(expand-file-name "8x16rk.bdf" bdf-font-directory))) ;; ((:char-spec latin-jisx0201 :height any :weight bold :slant any) ;; strict (bdf-font ,(expand-file-name "8x16rk.bdf" bdf-font-directory))) ;; ;; japanese-jisx0208 ;; ((:char-spec japanese-jisx0208 :height any :weight normal :slant normal) ;; strict (bdf-font ,(expand-file-name "j90-16.bdf" bdf-font-directory))) ;; ((:char-spec japanese-jisx0208 :height any :weight bold :slant normal) ;; strict (bdf-font ,(expand-file-name "j90-16.bdf" bdf-font-directory))) ;; ((:char-spec japanese-jisx0208 :height any :weight normal :slant any) ;; strict (bdf-font ,(expand-file-name "j90-16.bdf" bdf-font-directory))) ;; ((:char-spec japanese-jisx0208 :height any :weight bold :slant any) ;; strict (bdf-font ,(expand-file-name "j90-16b.bdf" bdf-font-directory)))))) ;; 初期フレームの設定 (setq default-frame-alist (append (list '(foreground-color . "black") '(background-color . "LemonChiffon") '(background-color . "gray") '(border-color . "black") '(mouse-color . "white") '(cursor-color . "black") ;; '(ime-font . (w32-logfont "MS ゴシック" ;; 0 16 400 0 nil nil nil ;; 128 1 3 49)) ; TrueType のみ ;; '(font . "bdf-fontset") ; BDF ;; '(font . "private-fontset"); TrueType '(width . 80) '(height . 40) '(top . 100) '(left . 100)) default-frame-alist)) ;; ;;; shell の設定 ;; ;;; Cygwin の bash を使う場合 ;; (setq explicit-shell-file-name "bash") ;; (setq shell-file-name "sh") ;; (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") ;;; argument-editing の設定 (require 'mw32script) (mw32script-init) ;; ;;; browse-url の設定 ;; (global-set-key [S-mouse-2] 'browse-url-at-mouse) ;; ;;; 印刷の設定 ;; ;; この設定で 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 (convert-standard-filename (buffer-name))) ;; (w32-start-process-show-window t) ;; ;; もし、dos 窓が見えていやな人は上記の `t' を `nil' にします ;; ;; ただし、`nil' にすると Meadow が固まる環境もあるかもしれません ;; (coding-system-for-write w32-system-coding-system)) ;; (while (string-match "[/\\]" tmpfile) ;; (setq tmpfile (replace-match "_" t nil tmpfile))) ;; (setq tmpfile (expand-file-name (concat "_" tmpfile "_") ;; temporary-file-directory)) ;; (write-region start end tmpfile nil 'nomsg) ;; (call-process "notepad" nil nil nil "/p" tmpfile) ;; (and (file-readable-p tmpfile) (file-writable-p tmpfile) ;; (delete-file tmpfile)))) ;; ;; (setq print-region-function 'w32-print-region) ;; ;;; fakecygpty の設定 ;; ;; この設定で cygwin の仮想端末を要求するプログラムを Meadow から ;; ;; 扱えるようになります ;; (setq mw32-process-wrapper-alist ;; '(("/\\(bash\\|tcsh\\|svn\\|ssh\\|gpg[esvk]?\\)\\.exe" . ;; (nil . ("fakecygpty.exe" . set-process-connection-type-pty))))) ;;; ;;; end of file ;;; ;;; ここから寺脇 ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;;; c,java等の設定 (setq c-mode-hook '(lambda () (setq version-control 'never) (setq default-tab-width '4) (setq tab-width '4))) (setq text-mode-hook '(lambda () (setq version-control 'never) (setq default-tab-width '4) (setq tab-width '4))) ;;indent に tab コードを使用しない (setq-default indent-tabs-mode nil) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ユーザ用初期化ファイル ;; ~/.emacs.my.el に個人用設定を書けます。 ;; このファイルを直接いじりたくない場合は、個人設定を分離してください ;;(if (file-exists-p (expand-file-name "~/.emacs.my.el")) ;; (load (expand-file-name "~/.emacs.my.el") nil t nil)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; shell mode ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; コンソールと同様、プロンプトは最下部にあってほしい (add-hook 'shell-mode-hook '(lambda () (setq comint-scroll-show-maximum-output t))) (modify-coding-system-alist 'process "telnet" '(japanese-shift-jis-dos . japanese-shift-jis-dos)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; C-z でキーバインドを拡張する (global-unset-key "\C-z") ;(global-set-key "\C-z\C-l" 'japanese-hankaku-region) ;(global-set-key "\C-z\C-u" 'japanese-zenkaku-region) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; C-k でキーバインドを拡張する (define-prefix-command 'Control-K-prefix) (global-set-key '"\C-k" 'Control-K-prefix) (define-key Control-K-prefix "\C-k" 'kill-line) (define-key Control-K-prefix "\C-l" 'japanese-hankaku-region) (define-key Control-K-prefix "\C-u" 'japanese-zenkaku-region) (define-key Control-K-prefix "\C-i" 'get-1word-to-kill-ring) (require 'browse-kill-ring) (define-key Control-K-prefix "\C-y" 'browse-kill-ring) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; **** keisen-mule.el **** (if (or (boundp 'MULE) (featurep 'meadow)) (if window-system (autoload 'keisen-mode "keisen-mouse" "MULE版罫線モード+マウス" t)) (autoload 'keisen-mode "keisen-mule" "MULE版罫線モード" t)) ;; 最終行から カーソル移動での新規行を禁止する。 (setq next-line-add-newlines nil) ;;;対応するかっこをハイライト表示。 (show-paren-mode t) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 日本語インクリメンタルサーチ (define-key isearch-mode-map "\C-k" 'isearch-edit-string) ;; isearch ですぐにハイライトする (setq isearch-lazy-highlight-initial-delay 0) ;; yank が便利になる browse-yank.el (autoload 'browse-yank "browse-yank" nil t) (global-set-key "\C-x\C-y" 'browse-yank) ; C-x C-y に割り当てる ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; C-, C-. で、ポイント位置の変化しないスクロール (defun scroll-up-one-line () (interactive) (scroll-up 1) (next-line 1 ) ) (defun scroll-down-one-line () (interactive) (scroll-down 1) (previous-line 1 )) ;; ステータスラインに時間を表示する (setq display-time-string-forms '(" "year "/" month "/" day " " dayname " " 24-hours ":" minutes " " (if mail " Mail" "") )) (display-time) ;; ******************************************************** ;; ;; goo 辞書 ;; ******************************************************** ;; (defun goo-dictionary (str) (interactive (list (read-string "infoseek jisyo: " (google-current-word)))) (browse-url (concat "http://dictionary.goo.ne.jp/search.php?MT=" (replace-in-string (google-encoding str) " +" "+") "&kind=&mode=0"))) ;; ******************************************************** ;; ;; ポイント位置を google検索する。 ;; ******************************************************** ;; ; Super-g でカーソル近くの keyword を google で検索 (defun google (str option) (browse-url (concat "http://www.google.com/search?q=" (replace-in-string (google-encoding str) " +" "+") "&num=100" option ))) (defun google-ja (str &optional module) (interactive (list (read-string "Google search: " (google-current-word)))) (google str "&hl=ja&lr=lang_ja")) (defun google-all (str &optional module) (interactive (list (read-string "Google search: " (google-current-word)))) (google str "")) (define-key global-map [(super g)] 'google-all) (defvar google-current-word-max-region-size 20 "*検索単語を拾うとき、regionからの切り出しを行なう最大のサイズ。 検索単語をバッファから拾うときに、regionのサイズがこの値以下なら regionの文字列を、それ以上なら`lookup-current-word'を使用する。") ;; 検索単語を拾う (defun google-current-word () (let ((region-size (abs (- (point) (mark))))) (if (and (not (zerop region-size)) (< region-size google-current-word-max-region-size)) (buffer-substring (point) (mark)) (lookup-current-word)))) (require 'browse-url) (defun google-encoding (str) (setq str (encode-coding-string str 'shift_jis)) (let* ((len (length str)) (ret (make-string (* len 3) ?a)) (i 0) (j 0) char type) (while (< i len) (setq char (aref str i)) (if (< char 126) (aset ret j char) (aset ret j ?%) (setq j (1+ j)) (aset ret j (aref "0123456789ABCDEF" (lsh char -4))) (setq j (1+ j)) (aset ret j (aref "0123456789ABCDEF" (logand char 15)))) (setq i (1+ i) j (1+ j))) (substring ret 0 j))) (autoload 'lookup-current-word "lookup-utils") ;;__________________________________________________________________________ ;;;;;; replace-in-string ;;Modified from XEmacs: lisp/prim/subr.el string() changed to char-to-string() (defun replace-in-string (str regexp newtext &optional literal) "Replaces all matches in STR for REGEXP with NEWTEXT string, and returns the new string. Optional LITERAL non-nil means do a literal replacement. Otherwise treat \\ in NEWTEXT string as special: \\& means substitute original matched text, \\N means substitute match for \(...\) number N, \\\\ means insert one \\." ;;; (check-argument-type 'stringp str) ;;; (check-argument-type 'stringp newtext) (let ((rtn-str "") (start 0) (special) match prev-start) (while (setq match (string-match regexp str start)) (setq prev-start start start (match-end 0) rtn-str (concat rtn-str (substring str prev-start match) (cond (literal newtext) (t (mapconcat (lambda (c) (if special (progn (setq special nil) (cond ((eq c ?\\) "\\") ((eq c ?&) (substring str (match-beginning 0) (match-end 0))) ((and (>= c ?0) (<= c ?9)) (if (> c (+ ?0 (length (match-data)))) ;; Invalid match num (error "Invalid match num: %c" c) (setq c (- c ?0)) (substring str (match-beginning c) (match-end c)))) (t (char-to-string c)))) (if (eq c ?\\) (progn (setq special t) nil) (char-to-string c)))) newtext "")))))) (concat rtn-str (substring str start)))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; C-; で、半角カナを全角カナにする (defun zenkaku-katakana-region (min max) (interactive "r") (save-excursion (goto-char min) (while (re-search-forward "\\ck+" max t) (japanese-zenkaku-region (match-beginning 0) (match-end 0))))) (defun zenkaku-katakana-buffer () (interactive) (zenkaku-katakana-region (point-min) (point-max))) (defun zenkaku-katakana-at-point (&optional point) (interactive) (setq point (or point (point))) (when (looking-at "\\ck+") (forward-char 1) (backward-word 1) (re-search-forward "\\ck+") (zenkaku-katakana-region (match-beginning 0) (match-end 0)))) (global-set-key [?\C-;] 'zenkaku-katakana-at-point) ;; (global-set-key [?\C-.] 'scroll-down-one-line) ;; mini buffer や kill-ring 等の履歴を次回起動時に持ち越したい ;; session.el をもらってきて、以下のコードを追加 ;;(when (require 'session nil t) ;; (setq session-initialize '(de-saveplace session keys menus) ;; session-globals-include '((kill-ring 50) ;; (session-file-alist 100 t) ;; (file-name-history 100))) ;; (add-hook 'after-init-hook 'session-initialize)) (require 'session) (add-hook 'after-init-hook 'session-initialize) (setq session-undo-check -1) ;; history から重複したのを消す (require 'cl) (defun minibuffer-delete-duplicate () (let (list) (dolist (elt (symbol-value minibuffer-history-variable)) (unless (member elt list) (push elt list))) (set minibuffer-history-variable (nreverse list)))) (add-hook 'minibuffer-setup-hook 'minibuffer-delete-duplicate) ;; kill-ring に同じ内容の文字列を複数入れない (defadvice kill-new (before ys:no-kill-new-duplicates activate) (setq kill-ring (delete (ad-get-arg 0) kill-ring))) ;;save-buffer 時、buffer 末尾に空行が常にあるように (setq require-final-newline t) ;;置換をリージョン指定可能にしたい (defadvice query-replace (around ys:qr-region) (if (and transient-mark-mode mark-active) (save-restriction (narrow-to-region (region-beginning) (region-end)) ad-do-return) ad-do-return)) (defadvice query-replace-regexp (around ys:qrr-region) (if (and transient-mark-mode mark-active) (save-restriction (narrow-to-region (region-beginning) (region-end)) ad-do-return) ad-do-return)) (ad-enable-advice 'query-replace 'around 'ys:qr-region) (ad-enable-advice 'query-replace-regexp 'around 'ys:qrr-region) ;;mini buffer の大きさを可変にする(Meadow 2.10 では最初から可変 ;;(resize-mini-windows t) ;; ミニバッファを isearch C-r (require 'minibuf-isearch) (setq tab-stop-list'(4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68)) ;;これで,リージョンを選択し,M-x my-check-encode-ableとすると, ;;保存できない文字を順番に置換か削除していくことができます. ;;バッファ全体は C-x h M-x my-check-encode-able でできます. (defun my-check-encode-able (beg end) (interactive "r") (save-excursion (let* ( (mycodingsystem buffer-file-coding-system) mychar mycharname (mycount 0) ;;;encoding に対応する charset のリストを取得する。 ;;;Meadow2 (Emacs21) でも動くかどうか未確認 ;;;うまくいかなければ、自分で対応を定義すれば良い (mycharsetlist (coding-system-get mycodingsystem 'safe-charsets)) ) (goto-char beg) ;;;リージョンの先頭に移動 (while (< (point) end) ;;;リージョン内を順に調べる (setq mychar (following-char)) (setq mycharsetname (char-charset mychar)) ;;合成文字に対する処理。 Meadow2 (Emacs21) では不要かも???? (if (equal 'composition mycharsetname) (setq mycharsetname (char-charset (string-to-char (decompose-string (char-to-string mychar)))))) ;;encode できない文字だったら色をつける (if (or (equal mycharsetlist t) (member mycharsetname mycharsetlist)) nil ;;;encode できる時は何もしない。 encode できない時↓ (if (y-or-n-p (format "Delete %s?" (buffer-substring-no-properties (point) (1+ (point))))) (delete-region (point) (1+ (point))) (delete-region (point) (1+ (point))) (insert (read-from-minibuffer "Replace String: ")) (setq mycount (1+ mycount)))) (forward-char) ;;;次の文字へ ) ;;結果の表示 (if (< 0 mycount) (message "%s で encode できない文字が%d 個ありました。" mycodingsystem mycount)) ))) (require 'izonmoji-mode) ;;(add-hook 'mew-message-mode-hook 'izonmoji-mode-on) (add-hook 'text-mode-hook 'izonmoji-mode-on) ;; dired でディレクトリを先頭に表示 (setq ls-lisp-dirs-first t) ;; バックアップファイルの作成場所を固定 (setq make-backup-files t) (setq backup-directory-alist (cons (cons "\\.*$" (expand-file-name "c:/temp")) backup-directory-alist)) ;;etags でのみ大文字,小文字を区別する (setq tags-case-fold-search nil) ;; --------- 以下、危ない設定。 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 全てのファイルを MS-DOS 形式として読込む ;;(setq coding-system-for-read 'japanese-shift-jis-dos) ;;(set-default-file-coding-systems *sjis*) ;;(set-default-coding-systems 'japanese-shift-jis-dos) ;;(set-default-file-coding-systems 'japanese-shift-jis-dos) ;;これが一番いいようだ (setq-default buffer-file-coding-system 'japanese-shift-jis-dos) ;; meadow -batch -f batch-byte-compile *.el ;; のようにコマンドラインからバイトコンパイルすることもできます. ;; backtrace signaling (setq debug-on-error nil) (put 'narrow-to-region 'disabled nil) ;;find file at point(C-x C-f でカーソル付近のファイルをデフォルトで入力) (ffap-bindings) ;;ツールバーはいらない (tool-bar-mode 0) ;; 起動時の画面はいらない (setq inhibit-startup-message t) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; 14dot フォント ;; fonts/ ;; packages/fonts/shinonome/ (w32-add-font "shinonome14-fontset" '( (strict-spec ((:char-spec ascii :height any) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm7x14a.bdf")) ;; normal ((:char-spec ascii :height any :weight bold) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm7x14ab.bdf")) ;;bold ((:char-spec ascii :height any :weight any :slant italic) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm7x14ai.bdf")) ;; normal ((:char-spec ascii :weight bold :slant italic) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm7x14abi.bdf") ) ((:char-spec katakana-jisx0201 :height any) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm7x14r.bdf") ((encoding . 1-byte-set-msb)) ) ((:char-spec katakana-jisx0201 :height any :weight bold) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm7x14rb.bdf") ((encoding . 1-byte-set-msb)) ) ((:char-spec katakana-jisx0201 :height any :weight normal) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm7x14ri.bdf") ((encoding . 1-byte-set-msb)) ) ((:char-spec katakana-jisx0201 :weight bold :slant italic) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm7x14rbi.bdf") ((encoding . 1-byte-set-msb)) ) ((:char-spec latin-jisx0201 :height any) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm7x14r.bdf") ) ((:char-spec latin-jisx0201 :height any :weight bold) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm7x14rb.bdf") ) ((:char-spec latin-jisx0201 :height any :weight normal) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm7x14ri.bdf") ) ((:char-spec latin-jisx0201 :weight bold :slant italic) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm7x14rbi.bdf") ) ((:char-spec japanese-jisx0212 :height any :weight any :slant any) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm7x14r") ((encoding-type . 0) (dim . 2))) ((:char-spec japanese-jisx0212 :height any :weight any :slant any) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm7x14r") ((encoding-type . 0) (dim . 2))) ((:char-spec japanese-jisx0208-1978 :height any :weight any :slant any) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm7x14r") ((encoding-type . 0) (dim . 2))) ((:char-spec japanese-jisx0208 :height any) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnmk14.bdf") ) ((:char-spec japanese-jisx0208 :height any :weight bold) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnmk14b.bdf") ) ((:char-spec japanese-jisx0208 :height any :weight normal) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnmk14i.bdf") ) ((:char-spec japanese-jisx0208 :weight bold :slant italic) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnmk14bi.bdf") ) ((:char-spec latin-iso8859-1 :height any) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm7x14a.bdf") ((encoding . 1-byte-set-msb))) ((:char-spec latin-iso8859-1 :height any :weight bold) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm7x14ab.bdf") ((encoding . 1-byte-set-msb))) ((:char-spec latin-iso8859-1 :height any :weight normal) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm7x14a.bdf") ((encoding . 1-byte-set-msb))) ((:char-spec latin-iso8859-1 :weight bold :slant italic) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm7x14a.bdf") ((encoding . 1-byte-set-msb))) ))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; 12dot フォント (w32-add-font "shinonome12-fontset" '( (strict-spec ((:char-spec ascii :height any) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm6x12a.bdf")) ;; normal ((:char-spec ascii :height any :weight bold) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm6x12ab.bdf")) ;;bold ((:char-spec ascii :height any :weight any :slant italic) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm6x12ai.bdf")) ;; normal ((:char-spec ascii :weight bold :slant italic) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm6x12abi.bdf") ) ((:char-spec katakana-jisx0201 :height any) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm6x12r.bdf") ((encoding . 1-byte-set-msb)) ) ((:char-spec katakana-jisx0201 :height any :weight bold) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm6x12rb.bdf") ((encoding . 1-byte-set-msb)) ) ((:char-spec katakana-jisx0201 :height any :weight normal) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm6x12ri.bdf") ((encoding . 1-byte-set-msb)) ) ((:char-spec katakana-jisx0201 :weight bold :slant italic) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm6x12rbi.bdf") ((encoding . 1-byte-set-msb)) ) ((:char-spec latin-jisx0201 :height any) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm6x12r.bdf") ) ((:char-spec latin-jisx0201 :height any :weight bold) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm6x12rb.bdf") ) ((:char-spec latin-jisx0201 :height any :weight normal) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm6x12ri.bdf") ) ((:char-spec latin-jisx0201 :weight bold :slant italic) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm6x12rbi.bdf") ) ((:char-spec japanese-jisx0212 :height any :weight any :slant any) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm6x12r.bdf") ((encoding-type . 0) (dim . 2))) ((:char-spec japanese-jisx0212 :height any :weight any :slant any) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm6x12r.bdf") ((encoding-type . 0) (dim . 2))) ((:char-spec japanese-jisx0208-1978 :height any :weight any :slant any) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm6x12r.bdf") ((encoding-type . 0) (dim . 2))) ((:char-spec japanese-jisx0208 :height any) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnmk12.bdf") ) ((:char-spec japanese-jisx0208 :height any :weight bold) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnmk12b.bdf") ) ((:char-spec japanese-jisx0208 :height any :weight normal) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnmk12i.bdf") ) ((:char-spec japanese-jisx0208 :weight bold :slant italic) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnmk12bi.bdf") ) ((:char-spec latin-iso8859-1 :height any) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm6x12a.bdf") ((encoding . 1-byte-set-msb))) ((:char-spec latin-iso8859-1 :height any :weight bold) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm6x12ab.bdf") ((encoding . 1-byte-set-msb))) ((:char-spec latin-iso8859-1 :height any :weight normal) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm6x12a.bdf") ((encoding . 1-byte-set-msb))) ((:char-spec latin-iso8859-1 :weight bold :slant italic) (bdf-font "c:/meadow/packages/fonts/shinonome/ZeroWithBar/shnm6x12a.bdf") ((encoding . 1-byte-set-msb))) ))) (w32-add-font "shinonome10-fontset" '((strict-spec ((:char-spec ascii :height any) (bdf-font "c:/Meadow/packages/fonts/shinonome/ZeroWithBar/5x10a.bdf")) ((:char-spec ascii :height any :weight bold) (bdf-font "c:/Meadow/packages/fonts/shinonome/ZeroWithBar/5x10a.bdf")) ((:char-spec ascii :height any :slant italic) (bdf-font "c:/Meadow/packages/fonts/shinonome/ZeroWithBar/5x10a.bdf")) ((:char-spec katakana-jisx0201 :height any) (bdf-font "c:/Meadow/packages/fonts/shinonome/ZeroWithBar/5x10a.bdf") ((encoding-type . 0) (dim . 2))) ((:char-spec katakana-jisx0201 :height any :weight bold) (bdf-font "c:/Meadow/packages/fonts/shinonome/ZeroWithBar/5x10a.bdf") ((encoding-type . 0) (dim . 2))) ((:char-spec latin-jisx0201 :height any) (bdf-font "c:/Meadow/packages/fonts/shinonome/ZeroWithBar/5x10a.bdf") ((encoding-type . 0) (dim . 2))) ((:char-spec latin-jisx0201 :height any :weight bold) (bdf-font "c:/Meadow/packages/fonts/shinonome/ZeroWithBar/5x10a.bdf") ((encoding-type . 0) (dim . 2))) ((:char-spec japanese-jisx0208 :height any) (bdf-font "c:/Meadow/packages/fonts/shinonome/ZeroWithBar/knj10.bdf") ((encoding-type . 0) (dim . 2))) ((:char-spec japanese-jisx0208 :height any :weight bold) (bdf-font "c:/Meadow/packages/fonts/shinonome/ZeroWithBar/knj10.bdf") ((encoding-type . 0) (dim . 2))) ))) (w32-add-font "gothic-32" '((strict-spec ((:char-spec ascii :height any) (w32-logfont "MS ゴシック" 0 -32 700 0 nil nil nil 0 1 3 49)) ((:char-spec ascii :height any :weight bold) (w32-logfont "MS ゴシック" 0 -32 1000 0 nil nil nil 0 1 3 49)) ((:char-spec japanese-jisx0208 :height any) (w32-logfont "MS ゴシック" 0 -32 700 0 nil nil nil 128 1 3 49)) ((:char-spec japanese-jisx0208 :height any :weight bold) (w32-logfont "MS ゴシック" 0 -32 700 0 nil nil nil 128 1 3 49)) ))) (w32-add-font "gothic-24" '((strict-spec ((:char-spec ascii :height any) (w32-logfont "MS ゴシック" 0 -24 700 0 nil nil nil 0 1 3 49)) ((:char-spec ascii :height any :weight bold) (w32-logfont "MS ゴシック" 0 -24 1000 0 nil nil nil 0 1 3 49)) ((:char-spec japanese-jisx0208 :height any) (w32-logfont "MS ゴシック" 0 -24 700 0 nil nil nil 128 1 3 49)) ((:char-spec japanese-jisx0208 :height any :weight bold) (w32-logfont "MS ゴシック" 0 -24 700 0 nil nil nil 128 1 3 49)) ))) ;;以下、フリーのソフト(ちょっと汚いフォントである) (w32-add-font "mplusp1_vera11" '((spec ((:char-spec ascii :height any) strict (w32-logfont "M+2VM+IPAG circle Regular" 0 -11 500 0 nil nil nil 128 1 3 1)) ((:char-spec ascii :height any :weight bold) strict (w32-logfont "M+2VM+IPAG circle Regular" 0 -11 700 0 nil nil nil 128 1 3 1)) ((:char-spec ascii :height any :slant italic) strict (w32-logfont "M+2VM+IPAG circle Regular" 0 -11 500 0 t nil nil 128 1 3 1)) ((:char-spec ascii :height any :weight bold :slant italic) strict (w32-logfont "M+2VM+IPAG circle Regular" 0 -11 700 0 t nil nil 128 1 3 1)) ((:char-spec japanese-jisx0208 :height any) strict (w32-logfont "M+2VM+IPAG circle Regular" 0 -11 500 0 nil nil nil 128 1 3 1)) ((:char-spec japanese-jisx0208 :height any :weight bold) strict (w32-logfont "M+2VM+IPAG circle Regular" 0 -11 700 0 nil nil nil 128 1 3 1)) ((:char-spec japanese-jisx0208 :height any :slant italic) strict (w32-logfont "M+2VM+IPAG circle Regular" 0 -11 500 0 t nil nil 128 1 3 1)) ((:char-spec japanese-jisx0208 :height any :weight bold :slant italic) strict (w32-logfont "M+2VM+IPAG circle Regular" 0 -11 700 0 t nil nil 128 1 3 1)) ))) ;; フレームフォントの設定 ;;(setq default-frame-alist ;; (cons '(font . "mplusp1_vera11") ;; default-frame-alist)) ;;(setq default-frame-alist ;; (cons '(ime-font . ;; (w32-logfont "M+2VM+IPAG circle Regular" 0 -11 500 0 nil nil nil 128 1 3 1)) ;; default-frame-alist)) ;;http://mix-mplus-ipa.sourceforge.jp/download.html ;;M+2VM+IPAG-circle.ttf ;;http://mix-mplus-ipa.sourceforge.jp/test/dot.emacs-20061220.txt ;;shift+↓↑で window 移動 (windmove-default-keybindings) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 保存しないファイルの正規表現 (load "desktop") (setq desktop-files-not-to-save "\\(^/[^/:]*:\\|\\.diary$\\)") (autoload 'desktop-save "desktop" nil t) (autoload 'desktop-clear "desktop" nil t) (autoload 'desktop-load-default "desktop" nil t) (autoload 'desktop-remove "desktop" nil t) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 前回デスクトップ環境をロード (desktop-load-default) (desktop-read) (desktop-save-mode 1) ;; なぜか、desktop-read の後にしないと駄目--開始 ;タイトルバーにフルパスを表示 (setq frame-title-format '("Emacs - %f")) (global-set-key [?\C-,] 'scroll-up-one-line) (global-set-key [?\C-.] 'scroll-down-one-line) (global-set-key "\C-z" 'call-last-kbd-macro) ;;; C-z で、キーボードマクロを実行 (global-set-key "\C-x\C-b" 'electric-buffer-list) ;;Windows標準の delete動作を禁止 (delete-selection-mode 0) ;; なぜか、desktop-read の後にしないと駄目--終了 ;; 色の付け方を控えめにして、スクロールが異常に遅くならないようにする (setq font-lock-maximum-decoration '((c-mode . 1) (c++-mode . 3))) ;; シェルモードで ls 出力などをカラー表示する設定 (add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; M-h で1word前方削除。ヘルプは、F1 (global-set-key "\M-h" 'backward-kill-word) (global-set-key [f1] 'helpn-for-help) ;;; カーソル行のHighlight/underline (M-x hl-line-mode) (setq hl-line-face 'underline) ;;--------------------------------------------------------- ;; VB Mode ;;--------------------------------------------------------- (setq visual-basic-ide-pathname "H:/VS98/VB98/VB6.EXE") (setq vbp-ide-pathname "H:/VS98/VB98/VB6.EXE") (setq visual-basic-mode-indent 4) (autoload 'visual-basic-mode "visual-basic-mode" "Basic Editing Mode" t) (setq auto-mode-alist (append '( ("\\.[Ff][Rr][Mm]$" . visual-basic-mode) ;;Form Module ("\\.[Bb][Aa][Ss]$" . visual-basic-mode) ;;Bas Module ("\\.[Cc][Ll][Ss]$" . visual-basic-mode) ;;Class Module ("\\.[Vv][Bb][Ss]$" . visual-basic-mode) ;;VBScript file ) auto-mode-alist)) (autoload 'vbp-mode "vbp-mode" "VBP mode." t) (setq auto-mode-alist (append '( ("\\.[Vv][Bb][Pp]$" . vbp-mode) ("\\.[Vv][Bb][Gg]$" . vbp-mode) ) auto-mode-alist)) ;; dired でディレクトリを先頭に表示 (setq ls-lisp-dirs-first t) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ユーザ用初期化ファイル ;; ~/.emacs.my.el に個人用設定を書けます。 ;; このファイルを直接いじりたくない場合は、個人設定を分離してください (if (file-exists-p (expand-file-name "~/.emacs.my.el")) (load (expand-file-name "~/.emacs.my.el") nil t nil)) ;;nifty のログは coding-system を自動決定できないようなので、このようにする (modify-coding-system-alist 'file "\\.*.log$" 'japanese-shift-jis) (modify-coding-system-alist 'file "\\.*.bmf$" 'iso-2022-jp);for Beckey (modify-coding-system-alist 'file "\\.*.mbx$" 'iso-2022-jp-dos);for Shuriken (modify-coding-system-alist 'file "\\.*.reg$" 'utf-8-dos); (require 'bf-mode) ;別ウィンドウに表示するサイズの上限 (setq bf-mode-browsing-size 10) ;別ウィンドウに表示しないファイルの拡張子 (setq bf-mode-except-ext '("\\.exe$" "\\.com$")) ;容量がいくつであっても表示して欲しいもの (setq bf-mode-force-browse-exts (append '("\\.texi$" "\\.el$") bf-mode-force-browse-exts)) ;; 物理行移動 を禁止する(キーボードマクロがまともに動かなくなるため) (physical-line-off) ;;(speedbar) ;; なんか自動的に開いてしまうので、 (kill-buffer ".curTheme") (kill-buffer ".framesize.el")