.emacs
;; --------------------------------------------------------- ;; load-path ;; --------------------------------------------------------- (setq load-path (append (list (expand-file-name "~/.elisp") ) load-path)) ;; --------------------------------------------------------- ;; 自慢の.emacsを貼り付けるスレ ;; --------------------------------------------------------- ;; ;; スタートアップメッセージを表示しない ;(setq inhibit-startup-message t) ;; emacs 終了時に確認する。 (if (eq emacs-major-version 21) (setq confirm-kill-emacs 'yes-or-no-p) (defun my-save-buffers-kill-emacs () (interactive) (if (yes-or-no-p "quit emacs? ") (save-buffers-kill-emacs))) (global-set-key "\C-x\C-c" 'my-save-buffers-kill-emacs)) ;;C-x bでbuffersを選ぶ時便利 ;;(iswitchb-default-keybindings) ;; バッファを切り替えるのに C-x e で electric-buffer-list を使う。 (global-set-key "\C-x\C-b" 'electric-buffer-list) ;; iswitchbで勝手にリサイズ ;;(iswitchb-default-keybindings) ;;(resize-minibuffer-mode) ;; iswitchb で絞り込みをやる (add-hook 'iswitchb-define-mode-map-hook (lambda () (define-key iswitchb-mode-map "\C-o" 'iswitchb-shrink-buflist))) (defun iswitchb-shrink-buflist () (interactive) (setq iswitchb-buflist iswitchb-matches) (erase-buffer)) ;; 警告音のかわりに画面フラッシュ (setq visible-bell nil) ;; ステータスラインに時間を表示する (display-time) ;; 時間表示 (setq display-time-24hr-format t) (setq display-time-day-and-date t) (setq display-time-string-forms '(month "/" day "(" dayname ") " 24-hours ":" minutes)) (display-time) ;; 行番号・桁番号をモードラインに表示する (line-number-mode t) ; 行番号 (column-number-mode t) ; 桁番号 ;; 画面から出たとき一行だけスクロールさせる (setq scroll-conservatively 1) ;; バッファの最後の行で next-line しても新しい行を作らない (setq next-line-add-newlines nil) ;; バッファの最初の行で previous-line しても、 ;; "beginning-of-buffer" と注意されないようにする。 (defun previous-line (arg) (interactive "p") (if (interactive-p) (condition-case nil (line-move (- arg)) ((beginning-of-buffer end-of-buffer))) (line-move (- arg))) nil) ;; hoge.txt~ みたいなバックアップファイルを作らないようにする ; (setq backup-inhibited t) ;; c-mode その他で色が付くようにする (global-font-lock-mode) ;; 検索とかリージョンを色付きに。 (setq transient-mark-mode t) (setq search-highlight t) (setq query-replace-highlight t) ;; C-tで別のウィンドウに切り替える (global-set-key "\C-t" 'other-window) ;; カスタムelisp ; (setq custom-file "~/.custom.el") ;; --------------------------------------------------------- ;; For Ruby ;; --------------------------------------------------------- ;(require 'color-theme) ;(color-theme-initialize) ;(color-theme-) ;; --------------------------------------------------------- ;; For Ruby ;; --------------------------------------------------------- ;; wget http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/misc/README ;; wget http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/misc/inf-ruby.el ;; wget http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/misc/ruby-electric.el ;; wget http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/misc/ruby-mode.el ;; wget http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/misc/rubydb2x.el ;; wget http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/misc/rubydb3 ;; ;; or yum -i install ruby-mode ;; (autoload 'ruby-mode "ruby-mode" "Mode for editing ruby source files" t) 1 (setq auto-mode-alist (append '(("\\.rb$" . ruby-mode)) auto-mode-alist)) (setq interpreter-mode-alist (append '(("ruby" . ruby-mode)) interpreter-mode-alist)) (autoload 'run-ruby "inf-ruby" "Run an inferior Ruby process") (autoload 'inf-ruby-keys "inf-ruby" "Set local key defs for inf-ruby in ruby-mode") (add-hook 'ruby-mode-hook '(lambda () (inf-ruby-keys))) (global-font-lock-mode t) ;(setq default-frame-alist ; (append ; '((foreground-color . "gray") ; ; (background-color . "black") ; ; (cursor-color . "blue") ; ; ) ; default-frame-alist)) ;; --------------------------------------------------------- ;; For Browse-Kill-Ring ;; --------------------------------------------------------- ;M-y とすると, kill-ring の一覧が表示されます. ;n,p で前後へ移動し,y で貼り付け,q で終了,e で選択中の kill-ring を編集できます. ;間違って貼り付けた場合には U で取り消すことができます. ;普通の isearch での検索はもちろんできますし,s や r でも検索ができます. (require 'browse-kill-ring) (global-set-key "\M-y" 'browse-kill-ring) ;; kill-ring を一行で表示 (setq browse-kill-ring-display-style 'one-line) ;; browse-kill-ring 終了時にバッファを kill する (setq browse-kill-ring-quit-action 'kill-and-delete-window) ;; 必要に応じて browse-kill-ring のウィンドウの大きさを変更する (setq browse-kill-ring-resize-window t) ;; kill-ring の内容を表示する際の区切りを指定する ;(setq browse-kill-ring-separator "-------") ;; 現在選択中の kill-ring のハイライトする (setq browse-kill-ring-highlight-current-entry t) ;; 区切り文字のフェイスを指定する ;(setq browse-kill-ring-separator-face 'region) ;; 一覧で表示する文字数を指定する. nil ならすべて表示される. (setq browse-kill-ring-maximum-display-length 80) ;; --------------------------------------------------------- ;; For epo "Editing Process Organizer" ;; --------------------------------------------------------- ; http://www.yatex.org/epo/ ; http://park.ruru.ne.jp/ando/work/who/epojava/doc/install.html (setq load-path (cons "~/.emacs.d/epo" load-path)) ;; このフォルダ名はインストール先により変動します。 (autoload 'epo "epo" "Editing Process Organizer" t) ;; Ruby を使うとき (add-hook 'ruby-mode-hook 'epo) ;; emacs-lisp を使うとき (add-hook 'emacs-lisp-mode-hook 'epo) ;; perl を使うとき (add-hook 'perl-mode-hook 'epo) ;; tex-mode を使うとき(YaTex を使うときはこれではダメ。下記参照) (add-hook 'tex-mode-hook 'epo) ;; YaTeX を使うとき (add-hook 'yatex-mode-hook 'epo) ;; SGML を使うとき(PSGML 使用のときはこれではダメ。下記参照) ;(add-hook 'sgml-mode-hook 'epo) ;; Java を使うとき(epojava 使用のときはこれではダメ。下記参照) ;(add-hook 'java-mode-hook 'epo) ;; IDL を使うとき(epojava 使用のときはこれではダメ。下記参照) ;(add-hook 'idl-mode-hook 'epo) ;; C++ を使うとき(epojava 使用のときはこれではダメ。下記参照) ;(add-hook 'c++-mode-hook 'epo) ;; C を使うとき(epojava 使用のときはこれではダメ。下記参照) ;(add-hook 'c-mode-hook 'epo) ;; YaHTML でHTML を補完するために使うとき ;; (XHTML などの XML や、JSP のためにepoを使用したいときはこれではダメ。下記参照) ;(add-hook 'yahtml-mode-hook 'epo) ;; --------------------------------------------------------- ;; For epojava ;; --------------------------------------------------------- ;; load-path (setq load-path (cons "~/.emacs.d/epojava" load-path)) ;; epojava mode (require 'epoan) ;; java (setq auto-mode-alist (cons (cons "\\.\\(java\\|class\\)$" 'epojava-mode) auto-mode-alist)) (autoload 'epojava-mode "epojava" "Epo-java mode" t) ;; CORBA/IDL (setq auto-mode-alist (cons (cons "\\.idl$" 'epoidl-mode) auto-mode-alist)) (autoload 'epoidl-mode "epocc" "Epo-idl mode" t) ;; CORBA/C mapping (setq auto-mode-alist (cons (cons "\\.\\(ih\\|hh\\|ic\\)$" 'epocc-mode) auto-mode-alist)) ;; C/C++ (setq auto-mode-alist (cons (cons "\\.\\(C\\|cc\\|CC\\|cpp\\|cxx\\|h\\|H\\)$" 'epocc-mode) auto-mode-alist)) (setq auto-mode-alist (cons (cons "\\.c$" 'epoc-mode) auto-mode-alist)) (autoload 'epoc-mode "epocc" "Epo-c mode" t) (autoload 'epocc-mode "epocc" "Epo-cc mode" t) ;; --------------------------------------------------------- ;; C-mode ;; --------------------------------------------------------- (put 'upcase-region 'disabled nil) ;; --------------------------------------------------------- ;; AUCTeX ;; --------------------------------------------------------- ;; (require 'tex-site);; -*- coding: iso-2021-7bit ;; --------------------------------------------------------- ;; ref: http://www1.u-netsurf.ne.jp/~ysk-net/WithEmacs/page4_2.html ;; --------------------------------------------------------- ;; --------------------------------------------------------- ;; HTML-helper-mode ;; --------------------------------------------------------- ;;(autoload 'html-helper-mode "html-helper-mode" "Yay HTML" t) ;;(setq auto-mode-alist (cons '("\\.html$" . html-helper-mode) auto-mode-alist)) ;; --------------------------------------------------------- ;; css-mode ;; --------------------------------------------------------- (autoload 'css-mode "css-mode") (setq auto-mode-alist (cons '("\\.css$" . css-mode) auto-mode-alist)) ;; --------------------------------------------------------- ;; navi-2ch ;; --------------------------------------------------------- (autoload 'navi2ch "navi2ch" "Navigator for 2ch for Emacs" t) (setq navi2ch-list-bbstable-url "http://menu.2ch.net/bbsmenu.html") (setq load-path (cons "~/.emacs.d/navi2ch" load-path)) ;; --------------------------------------------------------- ;; Pov-mode ;; --------------------------------------------------------- ;; Set autoloading of POV-mode for these file-types. (autoload 'pov-mode "pov-mode.el" "PoVray scene file mode" t) (setq auto-mode-alist (cons '("\\.pov$" . pov-mode) auto-mode-alist)) (defvar font-pov-is-Emacs22)