.emacs for Emacs 22.0.50, Mac OS X Tiger since May 3 2005 |
||||
|
||||
;; -*- coding: iso-2022-jp; mode: emacs-lisp -*- ;; ;; Emacs 22 initialization on Margarita, Mac OS X Tiger, isao yasuda ;; ;; Mac OS X 事前準備・注意事項 ;; (Requirements for Mac OS X in use of X11-Emacs) ;; ;; 1.Commandキーを Metaキーに割り当てるためには X11 Preferences - Input で ;; Follow system keyboard layout ;; Enable key equivalents under X11 ;; のチェックボックスをオフにしておく. ;; (1.In order to assign Command key to Meta key of Emacs setup in menu ;; "X11 Preferences - Input": ;; Follow system keyboard layout -> checkbox off ;; Enable key equivalents under X11 -> checkbox off ) ;; ;; 2.xmodmap で以下を定義しておく.(Command, OptionキーをMetaキーとする) ;; (2.By xmodmap define like as the next lines:) ;; ;; clear mod1 ;; keycode 66 = Meta_L -> Option key to Meta ;; keycode 63 = Meta_R -> Command key to Meta ;; add mod1 = Meta_L Meta_R ;; ;; 3.Tiger では C-SPC が Spotlight にトラップされるので,ショートカットキー ;; 定義を変更しておく. ;; (3.On Tiger "C-SPC" must to be trapped by Spotlight, so redefine ;; short-cut keys assign for Spotlight to use Emacs comfortably.) ;; ;; 4.Unicode 漢字は /efont/ を使用するよう,.Xdefaults に以下定義しておく. ;; (4.So that /efont/ will be used as Unicode Kanji fonts, define ;; in your .Xdefaults:) ;; ;; Emacs*fontSetList: 0,1,2 ;; Emacs.Fontset-0:-*-fixed-medium-r-normal-*-14-*-*-*-*-*-fontset-14,\ ;; mule-unicode-e000-ffff:-efont-biwidth-medium-r-normal-*-14→ ;; -*-*-*-*-*-iso10646-1,\ ;; mule-unicode-2500-33ff:-efont-biwidth-medium-r-normal-*-14→ ;; -*-*-*-*-*-iso10646-1 ;; Emacs.Fontset-1:-*-fixed-medium-r-normal-*-16-*-*-*-*-*-fontset-16,\ ;; mule-unicode-e000-ffff:-efont-biwidth-medium-r-normal-*-16→ ;; -*-*-*-*-*-iso10646-1,\ ;; mule-unicode-2500-33ff:-efont-biwidth-medium-r-normal-*-16→ ;; -*-*-*-*-*-iso10646-1 ;; Emacs.Fontset-2:-*-fixed-medium-r-normal-*-24-*-*-*-*-*-fontset-24,\ ;; mule-unicode-e000-ffff:-efont-biwidth-medium-r-normal-*-24→ ;; -*-*-*-*-*-iso10646-1,\ ;; mule-unicode-2500-33ff:-efont-biwidth-medium-r-normal-*-24→ ;; -*-*-*-*-*-iso10646-1 ;; Emacs.Font: fontset-16 ;; ;; 5.インド系文字(Hindi, Kannada, Malayalam, etc.)の表示は intlfonts 以外に ;; cdacfonts もインストールしておく. ;; (5.For display of Indian character sets: Hindi, Kanada, Malayalam, etc. ;; it is desirable to install "cdacfonts" besides "intlfonts".) ;; ;; ロードパスの追加 (for addition load-paths) (setq load-path (append load-path '("/Users/isao/elisp") load-path)) ;; その場で式を評価する (for evaluation at the place) (put 'eval-expression 'disabled nil) ;; モードラインに行番号表示 (for display line number at mode-line) (line-number-mode t) ;; モードラインに桁番号表示 (for display point in line at mode-line) (column-number-mode t) ;; モードラインに日付・時刻表示 (for display date and time) (setq display-time-day-and-date t display-time-24hr-format t) (setq display-time-format "%m/%d(%a) %H:%M") (display-time) ;; tab 4 (setq default-tab-width 4) ;; 強調 (for standing out the environment keywords) (global-font-lock-mode t) ;; 対の括弧を明示 (for remark of the other paren) (show-paren-mode t) ;; リージョンをハイライト (for hilighting regions) (transient-mark-mode t) ;; カーソルの点滅を止める (not let cursor blink) (blink-cursor-mode 0) ;; オープニングメッセージ表示しない (No opening messages) (setq inhibit-startup-message t) ;; ツールバー表示しない (not display tool-bar) (tool-bar-mode 0) ;; define keys ;; home キーでバッファ先頭に (go to the top of buffer by "HOME" key) (global-set-key [home] 'beginning-of-buffer) ;; end キーでバッファ末尾に (go to the bottum of buffer by "END" key) (global-set-key [end] 'end-of-buffer) ;; delete キーで後文字削除 (delete the char pointed on cursor by "delete" key) (global-unset-key [delete]) (global-set-key [delete] 'delete-char) ;; カーソル位置のURLに対しブラウザ起動 ;;(execut Web browser and visit URL pointed on cursor) (global-set-key "\C-c\C-b" 'browse-url-at-point) ;; ! で対応する括弧に移動 (move to the other paren by "!" key) (global-set-key "!" 'match-paren) (defun match-paren (arg) "Go to the matching paren if on a paren; otherwise insert !." (interactive "p") (cond ((looking-at "\\s\(") (forward-list 1) (backward-char 1)) ((looking-at "\\s\)") (forward-char 1) (backward-list 1)) (t (self-insert-command (or arg 1))))) ;; ファイル先頭 #! のとき自動的に chmod +x ;;(automaticaly chmod +x when the file has "#!" in it's first line) (add-hook 'after-save-hook 'executable-make-buffer-file-executable-if-script-p) ;; バックアップファイルは ~/tmp/edback に取得 ;;(backup file before editing into ~/tmp/edback directory) (fset 'make-backup-file-name '(lambda (file) (concat (expand-file-name "~/tmp/edback/") (file-name-nondirectory file)) )) (if (file-exists-p "~/tmp/edback/") (setq auto-save-list-file-prefix "~/tmp/edback/")) ;; .save.. ファイルを作らない (not make .save..files) (setq auto-save-list-file-name nil) (setq auto-save-list-file-prefix nil) ;; ;; フレーム設定 ;; Definitions for Frame of Emacs Window ;; (setq default-frame-alist (append (list '(foreground-color . "#330000") '(background-color . "snow") '(border-color . "#CC0033") '(width . 80) '(height . 40) '(font . "fontset-16") default-frame-alist))) (set-cursor-color "#990033") (set-mouse-color "#990033") ;; ;; carbon-font (Carbon-Emacs の場合のみ) ;;(Definitions for Carbon-font -- only for Carbon-Emacs ;; (if (eq window-system 'mac) (progn (require 'carbon-font) (set-default-font "fontset-hiraginomaru12") (setq default-frame-alist (append '(font . "fontset-hiraginomaru12"))) )) ;; ;; 言語設定,デフォルト UTF-8 ;;(Language setup, default: UTF-8) ;; (set-language-environment "Japanese") ;; Coding system UTF-8 (set-terminal-coding-system 'utf-8-unix) (set-default-coding-systems 'utf-8-unix) (set-buffer-file-coding-system 'utf-8-unix) ;; code page CP-1251 ;; Mew で CP-1251 のメールをみたいときは C-u C-c C-l cp1251 RET とする ;;(for encoding CP-1251 Russian code page. ;; Type "C-u C-c C-l cp1251 RET" to view CP-1251 encoded E-mails by Mew) (codepage-setup 1251) (define-coding-system-alias 'windows-1251 'cp1251) ;; ;; Tamago-4.0.6 (jserverを起動しておく) ;;(Tamago-4.0.6 for input Japanese. "jserver" must be started before.) ;; ;; 句読点は ., ;;(usually use as Japanese puctuations "." and ",") (setq its-hira-period ".") (setq its-hira-comma ",") ;; post-command-hook error 対策 ;; see: http://lowlife.jp/mft/stories/7.html (defun egg-activate-keymap-after-command () (while egg-change-major-mode-buffer (save-excursion (if (buffer-live-p (car egg-change-major-mode-buffer)) (progn (set-buffer (car egg-change-major-mode-buffer)) (egg-activate-keymap)))) (setq egg-change-major-mode-buffer (cdr egg-change-major-mode-buffer))) (remove-hook 'post-command-hook 'egg-activate-keymap-after-command)) ;; ;; インプットメソッド関数定義 ;; Definitions for quail input methods ;; (defun set-slavonic-input () "Slavonic general for Russian, Ukrainian, Old Slavonic, etc." (interactive) (set-input-method "slavonic") ) (defun set-japanese-input () "Japanese egg wnn7." (interactive) (set-input-method "japanese-egg-wnn7") ) (defun set-latin-input () "Latin postfix for European languages." (interactive) (set-input-method "latin-postfix") ) (defun set-greek-input () "Greek-polytonic for Classic and Modern Greek." (interactive) (set-input-method "greek-polytonic") ) ;; ファンクションキーでインプットメソッド選択 ;;(change input methods by function keys) (global-set-key [f5] 'set-slavonic-input) (global-set-key [f6] 'set-japanese-input) (global-set-key [f7] 'set-latin-input) (global-set-key [f8] 'set-greek-input) ;; ;; Register Modes for programming ;; ;; 設定した auto-mode-alist を活かす ;;(activate "auto-mode-alist" definitions) (setq magic-mode-alist nil) ;; mode 設定 ;;(definitions for editing modes for programming) (setq auto-mode-alist (append '( ("\\.C$" . c++-mode) ("\\.cc$" . c++-mode) ("\\.cpp$" . c++-mode) ("\\.hh$" . c++-mode) ("\\.c$" . c-mode) ("\\.h$" . c-mode) ("\\.m$" . objc-mode) ("\\.java$" . java-mode) ("\\.pl$" . cperl-mode) ("\\.perl$" . cperl-mode) ("\\.tex$" . yatex-mode) ("\\.sty$" . yatex-mode) ("\\.cls$" . yatex-mode) ("\\.clo$" . yatex-mode) ("\\.dtx$" . yatex-mode) ("\\.fdd$" . yatex-mode) ("\\.ins$" . yatex-mode) ("\\.s?html?$" . html-helper-mode) ("\\.php$" . html-helper-mode) ("\\.jsp$" . html-helper-mode) ("\\.css$" . css-mode) ("\\.js$" . java-mode) ("\\.el$" . emacs-lisp-mode) ) auto-mode-alist)) ;; c/c++, java mode (autoload 'c++-mode "cc-mode" "C++ Editing Mode" t) (autoload 'c-mode "cc-mode" "C Editing Mode" t) (autoload 'java-mode "cc-mode" "Java Editing Mode" t) (setq c-tab-always-indent nil) (setq c-default-style "bsd") (setq c-block-comments-indent-p 3) (setq c-basic-offset 4) ;; HTML mode (autoload 'html-helper-mode "html-helper-mode" "Yay HTML" t) (autoload 'asp-html-helper-mode "html-helper-mode" "Yay HTML" t) (autoload 'jsp-html-helper-mode "html-helper-mode" "Yay HTML" t) (add-to-list 'auto-mode-alist '("\\.s?html?$" . html-helper-mode)) ;; PHP mode (require 'php-mode) (autoload 'php-mode "php-mode" "PHP editing mode" t) (add-to-list 'auto-mode-alist '("\\.php$" . html-helper-mode)) ;; CSS mode (autoload 'css-mode "css-mode" "Cascading Style Sheet editing mode" t) (setq auto-mode-alist (cons '("\\.css$" . css-mode) auto-mode-alist)) ;; perl mode (autoload 'perl-mode "cperl-mode" "alternate mode for editing Perl programs" t) (setq cperl-indent-level 4) (setq cperl-continued-statement-offset 4) (setq cperl-comment-column 40) ;; YaTeX, TeX mode (autoload 'yatex-mode "yatex" "Yet Another LaTeX Mode" t) ;;; EUC 漢字コード (default Kanji encoding is EUC-Japan) (setq YaTeX-kanji-code 3) (setq tex-command "platex") (setq dvi2-command "xdvi") (setq section-name "documentclass") (setq mode-name "YaTeX") (setq YaTeX-fill-column nil) ;;; bold, italic にしない (not use bold and italic font faces) (setq YaTeX-font-lock-bold-face 'bold YaTeX-font-lock-italic-face 'italic YaTeX-use-italic-bold nil) ;;; font-face の設定 (font faces) (defface YaTeX-font-lock-bold-face '((((class color) (background dark)) (:foreground "lightgoldenrod")) (((class color) (background light)) (:foreground "DarkGoldenrod")) (t (:bold nil))) "Font Lock mode face used to express bold itself." :group 'font-lock-faces) (defvar YaTeX-font-lock-bold-face 'YaTeX-font-lock-bold-face) (defface YaTeX-font-lock-italic-face '((((class color) (background dark)) (:foreground "Plum1")) (((class color) (background light)) (:foreground "purple")) (t (:italic t))) "Font Lock mode face used to express italic itself." :group 'font-lock-faces) (defvar YaTeX-font-lock-italic-face 'YaTeX-font-lock-italic-face) ;; Multi mode -- mmm-mode (require 'mmm-mode) (require 'mmm-auto) (require 'mmm-vars) (require 'mmm-compat) (setq mmm-global-mode 'maybe) ;; Multi mode definitions (setq mmm-submode-decoration-level 2) ;;(set-face-background 'mmm-default-submode-face "wheat") ;; HTML + JavaScript (mmm-add-classes '((html-js :submode java-mode :front "<script [^>]*>?" :back "</script>?"))) (mmm-add-mode-ext-class 'html-helper-mode "\\.s?html?\\'" 'html-js) ;; HTML + CSS (mmm-add-classes '((html-css :submode css-mode :front "<style [^>]*>?" :back "</style>?"))) (mmm-add-mode-ext-class 'html-helper-mode "\\.s?html?\\'" 'html-css) ;; HTML + PHP (mmm-add-classes '((html-php :submode php-mode :front "<\\?\\(php\\)?" :back "\\?>"))) (mmm-add-mode-ext-class 'html-helper-mode "\\.php?\\'" 'html-php) ;; HTML + JSP (mmm-add-classes '((html-jsp :submode java-mode :front "<%" :back "\\%>"))) (mmm-add-mode-ext-class 'html-helper-mode "\\.jsp?\\'" 'html-jsp) ;; ;; Mew の設定 (アカウントその他は .mew.el に記述) ;;(Mew: MUA for Emacs) ;; (autoload 'mew "mew" nil t) (autoload 'mew-send "mew" nil t) (setq mew-icon-directory "/usr/local/share/emacs/22.0.50/etc/Mew") ;; ;; Ispell -- ispell.el 3.7 patched for aspell UTF-8 ;; ;;; 個人辞書 ;;;(personal dictionary) (setq ispell-personal-dictionary "~/.ispell-dict-personal") ;;; aspell 附属の ispell を使う ;;;(for spelling check use ispell module bundled on aspell) (setq ispell-program-name "/usr/local/lib/aspell-0.60/ispell") ;;; 各国語用設定 ;;; Definitions of spell checking for variable languages ;;;; ロシア語 (Russian) (defun ru-ispell () "Russian aspell for UTF-8" (interactive) (setenv "LANG" "ru_RU") (ispell-buffer) ) ;;;; 英語 (English) (defun en-ispell () "English aspell for UTF-8" (interactive) (setenv "LANG" "en_EN") (ispell-buffer) ) ;;;; 仏語 (French) (defun fr-ispell () "French aspell for UTF-8" (interactive) (setenv "LANG" "fr_FR") (ispell-buffer) ) ;;;; 独語 (German) (defun de-ispell () "German aspell for UTF-8" (interactive) (setenv "LANG" "de_DE") (ispell-buffer) ) ;; ;; UCS character utility ;; ;;; UCS コードポイントで文字を挿入 ;;;(insert Unicode characters by typing their UCS2 codepoints (global-set-key "\C-c\C-i" 'ucs-insert) ;;; カーソルの文字の情報を表示 ;;;(describe the information of character on the cursor) (global-set-key "\C-c\C-d" 'describe-char) ;; ;; Utf82Tex: UTF-8 - TeXコード変換支援 (by isao yasuda) ;;(Utf82TeX: utility to convert UTF-8 characters to TeX handles) ;; http://yasuda.homeip.net/archives/im-textools-0608.tar.gz (require 'utf82tex) (setq utf82tex-path "/usr/local/bin/utf82tex") (setq utf82tex-rc "/usr/local/etc/utf82tex/utf82texrc") (setq utf82tex-out-encoding 'utf-8) ;; ;; misima: 旧仮名遣い・旧字変換支援 (by isao yasuda) ;;(misima: utility to convert contemporary Japanese orthography to ;; old Japanese for Emacs use) ;; http://yasuda.homeip.net/archives/misima-2.3b.tar.gz (require 'misima) (setq misima-path "/usr/local/bin/misima") (setq misima-rc "/Users/isao/etc/misima/misimarc") ;; ;; misima: 旧仮名遣い・旧字変換支援 SOAP WebService (by isao yasuda) ;;(misima: utility to convert contemporary Japanese orthography to ;; old Japanese for Emacs use, SOAP WebService version) ;; http://yasuda.homeip.net/archives/misimaSoapService-0.1.zip ;; (require 'misimasoap) (setq misimasoap-path "/Users/isao/src/misima/soap/test/misima.sh") ;; ;; staslova: 多言語単語統計支援 (by isao yasuda) ;;(staslova: tool for statistics of words in multi-lingual texts ;; and analysis for Emacs use) ;; http://yasuda.homeip.net/archives/staslova-1.1.tar.gz ;; (require 'staslova) (setq staslova-path "/usr/local/bin/staslova") (setq staslova-opt "-d/Users/isao/etc/staslova.def") (setq staslova-out-encoding 'utf-8) ;; ;; Japanese utility (by isao yasuda) ;; (require 'japanese-util) ;;; Key binding ;;; 全角スペース,"、","。","・","『』"の挿入 ;;;(short-cuts for variable Japanese characters) (global-set-key "\C-cjs" 'jutil-insert-zenkaku-space) (global-set-key "\C-cjt" 'jutil-insert-zenkaku-toten) (global-set-key "\C-cjk" 'jutil-insert-zenkaku-kuten) (global-set-key "\C-cjc" 'jutil-insert-zenkaku-chuten) (global-set-key "\C-cjn" 'jutil-insert-zenkaku-nijukagi) ;;; リージョンの"、"と"。"をそれぞれ","と"."に変換 ;;;(replace punctuation style in the region: "、" & "。" to "," and ".") (global-set-key [f13] 'jutil-trans-kutoten-ronbun-region) ;;; リージョンの","と"."をそれぞれ"、"と"。"に変換 ;;;(replace punctuation style in the region: "," and "." to "、" & "。") (global-set-key [C-f13] 'jutil-trans-kutoten-ippan-region) ;; end of file