Emacs > .emacs > .emacs(2010.12.20)

;; .emacs                                        ;;
;; Last Updated : 2010/12/20 Mon 13:44:34        ;;

(if window-system (progn
  ;; 文字の色を設定
  (add-to-list 'default-frame-alist '(foreground-color . "white"))
  ;; 背景色を設定
  (add-to-list 'default-frame-alist '(background-color . "gray7"))
  ;; カーソルの色を設定
  (add-to-list 'default-frame-alist '(cursor-color . "SlateBlue2"))
  ;; ;; マウスポインタの色を設定
  ;; (add-to-list 'default-frame-alist '(mouse-color . "SlateBlue2"))
  ;; ;; モードラインの文字の色を設定
  ;; (set-face-foreground 'modeline "white")
  ;; ;; モードラインの背景色を設定
  ;; (set-face-background 'modeline "MediumPurple2")
  ;; ;; 選択中のリージョンの色を設定
  (set-face-background 'region "Dark Slate Grey")
  ;; ;; モードライン(アクティブでないバッファ)の文字色を設定
  ;; (set-face-foreground 'mode-line-inactive "gray30")
  ;; ;; モードライン(アクティブでないバッファ)の背景色を設定
  ;; (set-face-background 'mode-line-inactive "gray85")

))


;;auto-install.elのインストール手順
;; $mkdir -p ~/.emacs.d/auto-install
;; cd ~/.emacs.d/auto-install
;; wget http://www.emacswiki.org/emacs/download/auto-install.el
;; emacs --batch -Q -f batch-byte-compile auto-install.el

;;;Emacs Lispインストーラを利用
(add-to-list 'load-path "~/.emacs.d/auto-install")
;;(install-elisp-from-emacswiki "auto-install.el")
;(require 'auto-install)
;;起動時にEmacswikiのページを補完候補に加える
;(auto-install-update-emacswiki-package-name t)
;;install-elisp.el互換モード
;(auto-install-compatibility-setup)
;;ediff関連のバッファを一つのフレームにまとめる
(setq ediff-window-setup-function 'ediff-setup-windows-plain)


;;; 基本設定
;; スタートアップを非表示
(setq inhibit-startup-screen -1)

;; ビープ音を消す
(setq ring-bell-function 'ignore)

;; 現在行に色をつける
(global-hl-line-mode 1)
;;  その行の色
(set-face-background 'hl-line "black")

;; 履歴を次回Emacs起動時にも保存する
(savehist-mode 1)

;; 対応する括弧を光らせる
(show-paren-mode 1)

;; カーソルの位置が何文字目かを表示する
(column-number-mode t)

;; バックアップファイルを作らない
(setq backup-inhibited t)

;; Xでのクリップボードを共有
(setq x-select-enable-clipboard t)

;; yes-or-noをy-or-nに省略
(defalias 'yes-or-no-p 'y-or-n-p)

;; 行の先頭でC-kを一回押すだけで行全体を消去する
(setq kill-whole-line t)

;; ツールバーを非表示
(tool-bar-mode -1)

;; メニューバーを非表示
(menu-bar-mode -1)

;; 圧縮されたファイルも編集できるようにする
(auto-compression-mode t)

;; スクロールを一行ずつにする
(setq scroll-step 1)

;;; 現在の関数名をモードラインに表示
(which-function-mode 1)

;;; emacsclient
;; ファイルを現在のemacsで開く
(server-start)

;;: キーバインドの変更
;;  指定の行に移る
(global-set-key "\M-g" 'goto-line)

;;  undo
(global-set-key "\C-z" 'undo)

;;  ウィンドウの移動をM-tに
(global-set-key "\M-t" 'other-window)

;;  C-hをBackSpaceに
(global-set-key "\C-h" 'delete-backward-char)

;;  M-x compile を C-. に
(global-set-key [?\C-\.] 'compile)

;;;  初期フレームの設定
(setq initial-frame-alist
      (append
       '(	 (width               . 47)    ; フレーム幅(文字数)
	 (height              . 63))   ; フレーム高(文字数)
       initial-frame-alist))

;;; 新規フレームのデフォルト設定
(setq default-frame-alist
      (append
       '((width               . 47)	; フレーム幅(文字数)
	 (height              . 63))	; フレーム高(文字数)	
       default-frame-alist))

;;; ファイル更新日を自動的に書き換える。
;;  ファイルの頭に "last updated : "をつけくわえればよい
(require 'time-stamp)

;; 日本語で日付を入れたくないのでlocaleをCにする
(defun time-stamp-with-locale-c ()
  (let ((system-time-locale "C"))
    (time-stamp)
    nil))

(if (not (memq 'time-stamp-with-locale-c write-file-hooks))
    (add-hook 'write-file-hooks 'time-stamp-with-locale-c))

(setq time-stamp-active t)
(setq time-stamp-start "Last Updated : ")
(setq time-stamp-format "%04y/%02m/%02d %3a %02H:%02M:%02S")
(setq time-stamp-end "  ") ;;;Last Updated : の後に空白2つ以上いれると置換

;;; タイトルバーにファイル名を表示する
(setq frame-title-format (format "emacs@%s : %%f" (system-name)))

;;; ファイルの自動挿入
(auto-insert-mode)
;;  自動挿入するファイルのあるディレクトリ
;;  最後の/は必須
(setq auto-insert-directory "~/.emacs.d/insert/")
;;  自動挿入するファイル
(define-auto-insert "\\.c" "c-template.c")

;;; viewer.el view-modeの設定
;;  M-x install-elisp-from-emacswiki viewer.el
;;
;;  C-x C-rでview-modeでファイルを開く 
(setq view-read-only t)
;;  書き込み不能な場合はview-modeを抜けないように
(require 'viewer)
(viewer-stay-in-setup)
;;  .log .out .datファイルをview-modeで開く
(setq view-mode-by-default-regexp "\\.log")
(setq view-mode-by-default-regexp "\\.out")
(setq view-mode-by-default-regexp "\\.dat")

;;; view-mode時にモードラインに色をつける
;;  色名を指定
(setq viewer-modeline-color-unwritable "tomato")
(setq viewer-modeline-color-view "orange")
(viewer-change-modeline-color-setup)

;;  view-mode時のキーバインド
(define-key view-mode-map "h" 'backward-char)
(define-key view-mode-map "j" 'next-line)
(define-key view-mode-map "k" 'previous-line)
(define-key view-mode-map "l" 'forward-char)
(define-key view-mode-map "J" 'View-scroll-line-forward)
(define-key view-mode-map "K" 'View-scroll-line-backward)
(define-key view-mode-map "b" 'scroll-down)
(define-key view-mode-map " " 'scroll-up)
;;  bm.el
(define-key view-mode-map "m" 'bm-toggle)
(define-key view-mode-map "[" 'bm-previous)
(define-key view-mode-map "]" 'bm-next)

;;  view-modeを有効・無効にする
;;  0.04秒以内に jk を同時押しでview-modeに移行
(require 'key-chord)
(setq key-chord-two-keys-delay 0.04)
(key-chord-mode 1)
(key-chord-define-global "jk" 'view-mode)

;;; redo+.el
(require 'redo+)
;;  M-zに設定
(global-set-key "\M-z" 'redo)
(setq undo-no-redo t); 過去のundoがredoされないようにする
;; 大量のundoに耐えられるようにする
(setq undo-limit 600000)
(setq undo-strong-limit 900000)

;;;fullscreen.el
(require 'fullscreen)

;;; recentf-ext.el
;; install-elisp-from-emacswiki recentf-ext.el
;; 保存しておく数
(setq recentf-max-saved-items 3000)
;; 最近使ったファイルに加えないファイルを正規表現で指定する
(setq recentf-exclude '("/TAGS$" "/var/tmp/"))
(require 'recentf-ext)
;; f8をショートカットキーに
(global-set-key [f8] 'recentf-open-files)

;;; auto-complete.el
;; install-elisp-from-emacswiki auto-complete.el
;(require 'auto-complete)
;(global-auto-complete-mode 1)

;;;col-highlight.el
;; auto-install-batch col-highlight.el
;(require 'col-highlight)
;(column-highlight-mode 1)
;;何もしないでいるとハイライトを始めるようにする場合
;(toggle-highlight-column-when-idle 1)
;(col-highlight-set-interval 3)

;;; hippie-expand
;;; 略語展開の順を設定
(setq hippie-expand-try-functions-list
      '(try-expand-dabbrev
        try-expand-dabbrev-all-buffers
        try-expand-dabbrev-from-kill
        try-complete-file-name-partially
        try-complete-file-name
        try-expand-all-abbrevs
        try-expand-list try-expand-line
        try-complete-lisp-symbol-partially
        try-complete-lisp-symbol))
;; キーバインドの変更 C-;
(global-set-key [?\C-;] 'hippie-expand)

;;; ipa.el
(require 'ipa)
;;; 背景色
(set-face-background 'highlight "lavender")

;;; sequential-command.el
;;; M-x auto-install-batch sequential-command
(require 'sequential-command-config)
(sequential-command-setup-keys)

;;; smartchr.el 
;;  M-x install-elisp 
;;  https://github.com/imakado/emacs-smartchr/raw/master/smartchr.el
(require 'smartchr)
;;  once "", twice "
(global-set-key (kbd "\"") (smartchr '("\"`!!'\"" "\"")))
;;  once '', twice ' 
(global-set-key (kbd "\'") (smartchr '("\'`!!'\'" "\'")))

;;; auto-save-buffers.el
;;  M-x install-elisp
;;  http://homepage3.nifty.com/oatu/emacs/archives/auto-save-buffers.el
(require 'auto-save-buffers)
;;  アイドル2秒で保存
(run-with-idle-timer 0.2 t 'auto-save-buffers)
(run-with-idle-timer 0.2 t 'auto-save-buffers ""   ".ipa$")

;;; open-junk-file.el
;;  M-x install-elisp-from-emacswiki open-junk-file.el
;;  Usage: M-x open-junk-file
(require 'open-junk-file)
(setq open-junk-file-format "~/junk/%Y-%m-%d-%H%M%S.")

;;; bm.el
;;  M-x install-elisp
;;  http://cvs.savannah.gnu.org/viewvc/*checkout*/bm/bm/bm.el
(setq-default bm-buffer-persistence nil)
(setq bm-restore-repository-on-load t)
(require 'bm)
(add-hook 'find-file-hooks 'bm-buffer-restore)
(add-hook 'kill-buffer-hook 'bm-buffer-save)
(add-hook 'after-save-hook 'bm-buffer-save)
(add-hook 'after-revert-hook 'bm-buffer-restore)
(add-hook 'vc-before-checkin-hook 'bm-buffer-save)
(global-set-key (kbd "M-\\") 'bm-toggle)
(global-set-key (kbd "M-[") 'bm-previous)
(global-set-key (kbd "M-]") 'bm-next)

;;; Latex
;;  日本語コードをeuc-japanに
(set-language-environment "Japanese")
(set-default-coding-systems 'euc-japan)
(set-terminal-coding-system 'euc-japan)

;;; Yatex
(setq YaTeX-inhibit-prefix-letter nil)

;;; twittering-mode
(add-to-list 'load-path "~/.emacs.d/twittering-mode-1.0.0/")
(require 'twittering-mode)
;; Show icons
(setq twittering-icon-mode t)                
;; Update your timeline each 300 seconds (5 minutes)
(setq twittering-timer-interval 30)         
(add-hook 'twittering-mode-hook
	  (lambda ()
	    (mapc (lambda (pair)
		    (let ((key (car pair))
			  (func (cdr pair)))
		      (define-key twittering-mode-map
			(read-kbd-macro key) func)))
		  '(("F" . twittering-friends-timeline)
		    ("R" . twittering-replies-timeline)
		    ("U" . twittering-user-timeline)
		    ("W" . twittering-update-status-interactive)))))
最終更新:2011年03月08日 15:58