;======================================================================
; 言語・文字コード関連の設定
;======================================================================
(when (equal emacs-major-version 21) (require 'un-define))
(set-language-environment "Japanese")
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)
(prefer-coding-system 'utf-8) ;;UTF-8優先
(set-default-coding-systems 'utf-8)
(setq file-name-coding-system 'utf-8)
;=======================================================================
; Misc
;=======================================================================
(mouse-wheel-mode) ;;ホイールマウス
(global-font-lock-mode t) ;;文字の色つけ
(setq line-number-mode t) ;;カーソルのある行番号を表示
(auto-compression-mode t) ;;日本語infoの文字化け防止
(set-scroll-bar-mode 'right) ;;スクロールバーを右に表示
(global-set-key "\C-h" 'backward-delete-char) ;;Ctrl-Hでバックスペース
(setq visible-bell nil) ;;ヴィジュアルベル無効
(setq ring-bell-function '(lambda ())) ;;ビープ音も無効
(when (boundp 'show-trailing-whitespace) (setq-default show-trailing-whitespace t)) ;;行末のスペースを強調表示
;; load-pathの設定
(add-to-list 'load-path (expand-file-name "~/site-lisp"))
;; 対応する括弧を強調表示
(show-paren-mode t)
(setq show-paren-style 'mixed)
;(set-face-background 'show-paren-match-face "gray10")
(set-face-background 'show-paren-match-face "lawn green")
(set-face-foreground 'show-paren-match-face "light sea green")
(set-face-background 'show-paren-mismatch-face "magenta")
(set-face-foreground 'show-paren-mismatch-face "firebrick")
;; ツールバーを表示しない
(tool-bar-mode 0)
;; メニューを消したい
(menu-bar-mode -1)
;; 時計の設定
(setq display-time-string-forms
'((substring year -2) "/" month "/" day " " dayname " " 24-hours ":" minutes))
(display-time)
;; "Lisp nesting exceeds max-lisp-eval-depth"への対処
(setq max-lisp-eval-depth 1000)
;; "Variable binding depth exceeds max-specpdl-size"への対処
(setq max-specpdl-size 1867)
;; バッファの切換えをもっと楽にしたい − iswitchb
;; (iswitchb-default-keybindings)
(iswitchb-mode 1)
;; 列数を表示する
(column-number-mode t)
;; スタートアップ時のメッセージを抑制
(setq inhibit-startup-message t)
;; https://github.com/typester/emacs-config/blob/master/conf/init.el
;; % で対応する括弧に移動
(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)))))
(define-key global-map (kbd "C-5") 'match-paren)
;; C-t でother-window、分割されてなかったら分割
(defun other-window-or-split () ; http://d.hatena.ne.jp/rubikitch/20100210/emacs
(interactive)
(when (one-window-p)
(split-window-horizontally))
(other-window 1))
(define-key global-map (kbd "C-t") 'other-window-or-split)
;; scratchの初期メッセージ消去
(setq initial-scratch-message "")
;; タイトルバーにファイルのフルパス表示
(setq frame-title-format
(format "%%f - Emacs@%s" (system-name)))
;; 最近使ったファイルをメニューに表示
(recentf-mode t)
;; 最近使ったファイルの表示数
(setq recentf-max-menu-items 10)
;; 最近開いたファイルの保存数を増やす
(setq recentf-max-saved-items 3000)
;; ミニバッファの履歴を保存する
(savehist-mode 1)
;; ミニバッファの履歴の保存数を増やす
(setq history-length 3000)
;; デフォルトのタブ幅を半角スペース4つ分に
(setq default-tab-width 4)
;; c-modeの設定
(setq c-default-style "linux"
c-basic-offset 4)
;; - http://d.hatena.ne.jp/syohex/20110624/1308871777
;; c-modeの自動インデントをデフォルトで無効化
;; 有効/無効はC-c C-lで切り替え
;; (add-hook 'c-mode-hook
;; '(lambda ()
;; (c-toggle-electric-state -1)))
;; auto-installの設定
(add-to-list 'load-path (expand-file-name "~/.emacs.d/auto-install"))
(require 'auto-install)
(auto-install-update-emacswiki-package-name t)
(auto-install-compatibility-setup)
(setq ediff-window-setup-function 'ediff-setup-windows-plain)
;; cmigemoの設定
;; http://qiita.com/kenbeese/items/ebbf0128d7c752a94a22
(setq migemo-dictionary "/usr/local/share/migemo/utf-8/migemo-dict")
(setq migemo-command "cmigemo")
(setq migemo-options '("-q" "--emacs"))
(setq migemo-user-dictionary nil)
(setq migemo-coding-system 'utf-8)
(setq migemo-regex-dictionary nil)
(load-library "migemo")
(migemo-init)
;; ;; anything.elの設定
;; (require 'anything-startup)
;; auto-complete-mode.elの設定
(add-to-list 'load-path "~/.emacs.d/")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d//ac-dict")
(ac-config-default)
;; GNU GLOBAL(gtags.el)の設定(ここから)
(add-to-list 'load-path "~/site-lisp")
(autoload 'gtags-mode "gtags" "" t)
(setq gtags-mode-hook
'(lambda ()
(local-set-key "\M-t" 'gtags-find-tag)
(local-set-key "\M-r" 'gtags-find-rtag)
(local-set-key "\M-s" 'gtags-find-symbol)
(local-set-key "\C-t" 'gtags-pop-stack)))
;; (add-hook 'gtags-mode-hook
;; '(lambda ()
;; ; Local customization (overwrite key mapping)
;; (define-key gtags-mode-map "\C-f" 'scroll-up)
;; (define-key gtags-mode-map "\C-b" 'scroll-down)
;; ))
(add-hook 'gtags-select-mode-hook
'(lambda ()
(setq hl-line-face 'underline)
(hl-line-mode 1)))
(add-hook 'c-mode-hook
'(lambda ()
(gtags-mode 1)
(gtags-make-complete-list)))
; Customization
(setq gtags-suggested-key-mapping t)
(setq gtags-auto-update t)
;; GNU GLOBAL(gtags.el)の設定(ここまで)
;; Helmの設定
(add-to-list 'load-path "~/site-lisp/helm")
(require 'helm-config)
最終更新:2014年06月04日 22:02