;; .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