Last active
August 29, 2015 14:06
-
-
Save kawacho/264d31130a10c7f2ed77 to your computer and use it in GitHub Desktop.
~/.emacs.d/init.el 晒し(2014-09-28)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;;; -*- Mode: Emacs-Lisp; Coding: utf-8 -*- | |
;;; ~/.emacs.d/ | |
(unless (boundp 'user-emacs-directory) | |
(defvar user-emacs-directory (expand-file-name "~/.emacs.d/"))) | |
;;; ユーザー情報 | |
(setq user-full-name "Kawahara Masayoshi") | |
(setq user-mail-address "kawacho@gmail.com") | |
;;; キーバインド(基本) | |
(setq suggest-key-bindings 5) ; M-x ... で実行したらキーバインドを表示 | |
(keyboard-translate ?\C-h ?\C-?) | |
(global-set-key "\C-h" nil) | |
(global-set-key "\C-ch" 'help-command) | |
(global-set-key "\M-?" 'help-for-help) | |
;;; マウス操作時にダイアログボックスを表示しない(安定してないので) | |
(setq use-dialog-box nil) | |
;;; バックアップ・自動保存 | |
(setq auto-save-default nil) | |
(setq make-backup-files nil) | |
(setq vc-make-backup-files nil) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;; server, emacsclient | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(require 'server) | |
(unless (server-running-p) | |
(server-start)) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;; Emacs Lisp パッケージ管理 | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; *.el 置いている場所 | |
(add-to-list 'load-path user-emacs-directory) | |
(add-to-list 'load-path (expand-file-name "auto-install/" user-emacs-directory)) | |
(add-to-list 'load-path (expand-file-name "elisp/" user-emacs-directory)) | |
;; package.el | |
;; - http://emacs-jp.github.io/packages/package-management/package-el.html | |
;; - http://elpa.gnu.org/packages/ | |
;; - http://melpa.milkbox.net/#/ | |
(require 'package) | |
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t) | |
;; (add-to-list 'package-archives '("melpa-stable" . "http://melpa-stable.milkbox.net/packages/") t) | |
(package-initialize) | |
;; パッケージが無いものは auto-install で入れるか手動で。 | |
;; auto-install 自体は package.el でインストールできる。 | |
(require 'auto-install) | |
(auto-install-compatibility-setup) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;; 環境変数 | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; Mac で GUI から起動しても、シェルの PATH 環境変数を引き継ぐ | |
;; - http://qiita.com/catatsuy/items/3dda714f4c60c435bb25 | |
(when (memq window-system '(mac ns)) | |
(exec-path-from-shell-initialize)) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;; 言語環境、日本語入力など | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; 言語環境 | |
(set-language-environment "Japanese") | |
;; コーディングシステム | |
(cond | |
;; Windows | |
;; gnupack 設定ファイルから | |
((eq system-type 'windows-nt) | |
(set-keyboard-coding-system 'cp932) | |
(prefer-coding-system 'utf-8-dos) | |
(set-file-name-coding-system 'cp932) | |
(setq default-process-coding-system '(cp932 . cp932))) | |
(t | |
(prefer-coding-system 'utf-8))) | |
;; 日本語入力の設定 | |
(cond | |
;; Cocoa Emacs, 日本語化パッチ | |
((and (eq window-system 'ns) | |
(functionp 'mac-set-input-method-parameter)) | |
(setq default-input-method "MacOSX") | |
;; "Convert yen to backslash for JIS keyboard." | |
;; (mac-translate-from-yen-to-backslash) | |
;; Shift キーがシステム・IM に渡るようにする | |
(mac-add-key-passed-to-system 'shift) | |
;; 起動したら英字にする | |
(add-hook 'after-init-hook 'mac-change-language-to-us) | |
;; ミニバッファを開いたときに英字にする(閉じてもモードは戻らない) | |
(add-hook 'minibuffer-setup-hook 'mac-change-language-to-us) | |
;; Input Source ごとのカスタマイズ | |
;; - 一覧は (mac-get-input-source-list) で取得できる。 | |
;; - ATOK はバージョンごとに ID が変わる。年に一回なのでとりあえず手動更新で対応。 | |
(mac-set-input-method-parameter "com.justsystems.inputmethod.atok27.Japanese" `title "あ") | |
(mac-set-input-method-parameter "com.justsystems.inputmethod.atok27.Japanese" `cursor-color "darkred") | |
(mac-set-input-method-parameter "com.justsystems.inputmethod.atok27.Roman" `cursor-color "black") | |
) | |
;; Windows | |
;; gnupack 設定ファイルから | |
((eq system-type 'windows-nt) | |
(setq default-input-method "W32-IME") | |
(setq-default w32-ime-mode-line-state-indicator "[Aa]") | |
(setq w32-ime-mode-line-state-indicator-list '("[Aa]" "[あ]" "[Aa]")) | |
(w32-ime-initialize) | |
;; IME の ON/OFF でカーソルの色を変える | |
(set-cursor-color "black") | |
(add-hook 'input-method-activate-hook | |
(lambda() (set-cursor-color "darkred"))) | |
(add-hook 'input-method-inactivate-hook | |
(lambda() (set-cursor-color "black"))) | |
;; バッファ切り替え時にIME状態を引き継ぐ | |
(setq w32-ime-buffer-switch-p nil) | |
) | |
) | |
;; encode の設定 | |
(when (eq system-type 'windows-nt) | |
;; gnupack 設定ファイルから | |
;; 機種依存文字 | |
(require 'cp5022x) | |
(define-coding-system-alias 'euc-jp 'cp51932) | |
;; decode-translation-table の設定 | |
(coding-system-put 'euc-jp :decode-translation-table | |
(get 'japanese-ucs-jis-to-cp932-map 'translation-table)) | |
(coding-system-put 'iso-2022-jp :decode-translation-table | |
(get 'japanese-ucs-jis-to-cp932-map 'translation-table)) | |
(coding-system-put 'utf-8 :decode-translation-table | |
(get 'japanese-ucs-jis-to-cp932-map 'translation-table)) | |
;; encode-translation-table の設定 | |
(coding-system-put 'euc-jp :encode-translation-table | |
(get 'japanese-ucs-cp932-to-jis-map 'translation-table)) | |
(coding-system-put 'iso-2022-jp :encode-translation-table | |
(get 'japanese-ucs-cp932-to-jis-map 'translation-table)) | |
(coding-system-put 'cp932 :encode-translation-table | |
(get 'japanese-ucs-jis-to-cp932-map 'translation-table)) | |
(coding-system-put 'utf-8 :encode-translation-table | |
(get 'japanese-ucs-jis-to-cp932-map 'translation-table)) | |
;; charset と coding-system の優先度設定 | |
(set-charset-priority 'ascii 'japanese-jisx0208 'latin-jisx0201 | |
'katakana-jisx0201 'iso-8859-1 'cp1252 'unicode) | |
(set-coding-system-priority 'utf-8 'euc-jp 'iso-2022-jp 'cp932) | |
;; PuTTY 用の terminal-coding-system の設定 | |
(apply 'define-coding-system 'utf-8-for-putty | |
"UTF-8 (translate jis to cp932)" | |
:encode-translation-table | |
(get 'japanese-ucs-jis-to-cp932-map 'translation-table) | |
(coding-system-plist 'utf-8)) | |
(set-terminal-coding-system 'utf-8-for-putty) | |
;; East Asian Ambiguous | |
(defun set-east-asian-ambiguous-width (width) | |
(while (char-table-parent char-width-table) | |
(setq char-width-table (char-table-parent char-width-table))) | |
(let ((table (make-char-table nil))) | |
(dolist (range | |
'(#x00A1 #x00A4 (#x00A7 . #x00A8) #x00AA (#x00AD . #x00AE) | |
(#x00B0 . #x00B4) (#x00B6 . #x00BA) (#x00BC . #x00BF) | |
#x00C6 #x00D0 (#x00D7 . #x00D8) (#x00DE . #x00E1) #x00E6 | |
(#x00E8 . #x00EA) (#x00EC . #x00ED) #x00F0 | |
(#x00F2 . #x00F3) (#x00F7 . #x00FA) #x00FC #x00FE | |
#x0101 #x0111 #x0113 #x011B (#x0126 . #x0127) #x012B | |
(#x0131 . #x0133) #x0138 (#x013F . #x0142) #x0144 | |
(#x0148 . #x014B) #x014D (#x0152 . #x0153) | |
(#x0166 . #x0167) #x016B #x01CE #x01D0 #x01D2 #x01D4 | |
#x01D6 #x01D8 #x01DA #x01DC #x0251 #x0261 #x02C4 #x02C7 | |
(#x02C9 . #x02CB) #x02CD #x02D0 (#x02D8 . #x02DB) #x02DD | |
#x02DF (#x0300 . #x036F) (#x0391 . #x03A9) | |
(#x03B1 . #x03C1) (#x03C3 . #x03C9) #x0401 | |
(#x0410 . #x044F) #x0451 #x2010 (#x2013 . #x2016) | |
(#x2018 . #x2019) (#x201C . #x201D) (#x2020 . #x2022) | |
(#x2024 . #x2027) #x2030 (#x2032 . #x2033) #x2035 #x203B | |
#x203E #x2074 #x207F (#x2081 . #x2084) #x20AC #x2103 | |
#x2105 #x2109 #x2113 #x2116 (#x2121 . #x2122) #x2126 | |
#x212B (#x2153 . #x2154) (#x215B . #x215E) | |
(#x2160 . #x216B) (#x2170 . #x2179) (#x2190 . #x2199) | |
(#x21B8 . #x21B9) #x21D2 #x21D4 #x21E7 #x2200 | |
(#x2202 . #x2203) (#x2207 . #x2208) #x220B #x220F #x2211 | |
#x2215 #x221A (#x221D . #x2220) #x2223 #x2225 | |
(#x2227 . #x222C) #x222E (#x2234 . #x2237) | |
(#x223C . #x223D) #x2248 #x224C #x2252 (#x2260 . #x2261) | |
(#x2264 . #x2267) (#x226A . #x226B) (#x226E . #x226F) | |
(#x2282 . #x2283) (#x2286 . #x2287) #x2295 #x2299 #x22A5 | |
#x22BF #x2312 (#x2460 . #x24E9) (#x24EB . #x254B) | |
(#x2550 . #x2573) (#x2580 . #x258F) (#x2592 . #x2595) | |
(#x25A0 . #x25A1) (#x25A3 . #x25A9) (#x25B2 . #x25B3) | |
(#x25B6 . #x25B7) (#x25BC . #x25BD) (#x25C0 . #x25C1) | |
(#x25C6 . #x25C8) #x25CB (#x25CE . #x25D1) | |
(#x25E2 . #x25E5) #x25EF (#x2605 . #x2606) #x2609 | |
(#x260E . #x260F) (#x2614 . #x2615) #x261C #x261E #x2640 | |
#x2642 (#x2660 . #x2661) (#x2663 . #x2665) | |
(#x2667 . #x266A) (#x266C . #x266D) #x266F #x273D | |
(#x2776 . #x277F) (#xE000 . #xF8FF) (#xFE00 . #xFE0F) | |
#xFFFD | |
)) | |
(set-char-table-range table range width)) | |
(optimize-char-table table) | |
(set-char-table-parent table char-width-table) | |
(setq char-width-table table))) | |
(set-east-asian-ambiguous-width 2) | |
;; emacs-w3m | |
(eval-after-load "w3m" | |
'(when (coding-system-p 'cp51932) | |
(add-to-list 'w3m-compatible-encoding-alist '(euc-jp . cp51932)))) | |
;; Gnus | |
(eval-after-load "mm-util" | |
'(when (coding-system-p 'cp50220) | |
(add-to-list 'mm-charset-override-alist '(iso-2022-jp . cp50220)))) | |
;; SEMI (cf. http://d.hatena.ne.jp/kiwanami/20091103/1257243524) | |
(eval-after-load "mcs-20" | |
'(when (coding-system-p 'cp50220) | |
(add-to-list 'mime-charset-coding-system-alist | |
'(iso-2022-jp . cp50220)))) | |
;; 全角チルダ/波ダッシュをWindowsスタイルにする | |
(let ((table (make-translation-table-from-alist '((#x301c . #xff5e))) )) | |
(mapc | |
(lambda (coding-system) | |
(coding-system-put coding-system :decode-translation-table table) | |
(coding-system-put coding-system :encode-translation-table table) | |
) | |
'(utf-8 cp932 utf-16le))) | |
) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;; フレーム、ウィンドウまわりのいろいろ | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; 透過 | |
;; (set-frame-parameter (selected-frame) 'alpha '(95 90)) | |
;; スタートアップ画面 | |
(setq inhibit-startup-screen t) | |
;; メニューバー | |
(when window-system (menu-bar-mode +1)) | |
;; ツールバー | |
(when window-system (tool-bar-mode -1)) | |
;; スクロールバー | |
(when window-system (scroll-bar-mode -1)) | |
;; フリンジに行番号表示 | |
;; (global-linum-mode t) | |
;; (set-face-attribute 'linum nil :height 0.8) | |
;; (setq linum-format "%4d") | |
;; バッファ末尾より後の行では、フリンジ左側に何か表示される | |
(setq-default indicate-empty-lines t) | |
;; モードラインの行番号・桁番号 | |
(line-number-mode t) | |
(column-number-mode t) | |
;; 一時バッファのサイズ | |
(temp-buffer-resize-mode +1) | |
;; 縦に(左右に)ウィンドウを分割した場合の折り返し | |
(setq truncate-partial-width-windows nil) | |
;; カーソル | |
(setq default-frame-alist | |
(append (list | |
'(cursor-type . box) | |
'(cursor-height . 4) | |
) | |
default-frame-alist)) | |
(when window-system (blink-cursor-mode -1)) | |
;; 非アクティブウィンドウのカーソル | |
(setq-default cursor-in-non-selected-windows nil) | |
;; フォントロック | |
(global-font-lock-mode +1) | |
(setq font-lock-support-mode | |
(if (fboundp 'jit-lock-mode) 'jit-lock-mode 'lazy-lock-mode)) | |
;; 一般的な設定ファイルなどの構文強調表示 | |
;; http://at-aka.blogspot.jp/2011/03/emacs-etchosts-etcapache2conf.html | |
(require 'generic-x) | |
;; 対応するカッコを強調表示 | |
(show-paren-mode t) | |
(setq show-paren-style 'mixed) ; `parenthesis' or `expression' or `mixed' | |
;; 行ハイライト | |
(when window-system (global-hl-line-mode +1)) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;; フォントセットまわり | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(setq scalable-fonts-allowed t) | |
(when (eq window-system 'ns) | |
(setq ns-antialias-text t)) | |
(cond | |
;; Cocoa Emacs | |
((and (eq window-system 'ns) | |
(or (and (= emacs-major-version 23) (>= emacs-minor-version 3)) | |
(= emacs-major-version 24)) | |
) | |
;; Cocoa Emacs のフォント設定について - 瀬戸亮平 | |
;; http://d.hatena.ne.jp/setoryohei/20110117/1295336454 | |
(let* ((size 12) ; ASCIIフォントのサイズ [9/10/12/14/15/17/19/20/...] | |
(asciifont "Menlo") ; ASCIIフォント | |
(jpfont "Hiragino Maru Gothic Pro") ;; 日本語フォント | |
(h (* size 10)) | |
(fontspec (font-spec :family asciifont)) | |
(jp-fontspec (font-spec :family jpfont)) | |
(osaka-fontspec (font-spec :family "Osaka")) | |
) | |
(set-face-attribute 'default nil :family asciifont :height h) | |
(set-fontset-font nil 'japanese-jisx0213.2004-1 jp-fontspec) | |
(set-fontset-font nil 'japanese-jisx0213-2 jp-fontspec) | |
(set-fontset-font nil 'katakana-jisx0201 jp-fontspec) ; 半角カナ | |
(set-fontset-font nil '(#x0080 . #x024F) fontspec) ; 分音符付きラテン | |
;; (set-fontset-font nil '(#x0370 . #x03FF) fontspec) ; ギリシャ文字 | |
(set-fontset-font nil '(#x0370 . #x03FF) jp-fontspec) ; ギリシャ文字 | |
(set-fontset-font nil '#xFF0B osaka-fontspec) ; +(プラス) | |
(set-fontset-font nil '#x2212 osaka-fontspec) ; −(マイナス) | |
(set-fontset-font nil '#x00B1 osaka-fontspec) ; ±(プラスマイナス) | |
(set-fontset-font nil '#x00D7 osaka-fontspec) ; ×(かける) | |
(set-fontset-font nil '#x00F7 osaka-fontspec) ; ÷(わる) | |
) | |
;; フォントサイズの比を設定 | |
(dolist (elt '(("^-apple-hiragino.*" . 1.2) | |
(".*osaka-bold.*" . 1.2) | |
(".*osaka-medium.*" . 1.2) | |
(".*courier-bold-.*-mac-roman" . 1.0) | |
(".*monaco cy-bold-.*-mac-cyrillic" . 0.9) | |
(".*monaco-bold-.*-mac-roman" . 0.9))) | |
(add-to-list 'face-font-rescale-alist elt)) | |
;; 123456789012345678901234567890 | |
;; ABCDEFGHIJKLMNOPQRSTUVWXYZabcd | |
;; あいうえおかきくけこさしすせそ | |
;; ◎○●▲■◎○●▲■◎○●▲■ | |
;; ×÷±+−×÷±+−×÷±+− | |
;; 123456789012345678901234567890 | |
;; ΑΒΓαβγΑΒΓαβγΑΒΓαβγΑΒΓαβγΑΒΓαβγ | |
;; フレームの縦横サイズ・位置 | |
(cond | |
((equal system-name "kawachoimac.local") | |
(add-to-list 'default-frame-alist '(top . 50)) | |
(add-to-list 'default-frame-alist '(left . 0)) | |
(add-to-list 'default-frame-alist '(width . 150)) | |
(add-to-list 'default-frame-alist '(height . 90))) | |
(t | |
(add-to-list 'default-frame-alist '(width . 100)) | |
(add-to-list 'default-frame-alist '(height . 50))) | |
) | |
) | |
;; Windows, gnupack | |
;; gnupack の ini で設定されているのをそのまま使う。 | |
) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;; その他の設定 | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; バッファメニューは別ウィンドウで | |
(global-set-key "\C-x\C-b" 'buffer-menu-other-window) | |
;; iswitchb | |
(iswitchb-mode +1) | |
;; uniquify | |
(require 'uniquify) | |
(setq uniquify-buffer-name-style 'post-forward-angle-brackets) | |
;; 他で変更されたら再読込 | |
(global-auto-revert-mode +1) | |
;; 物理行移動 | |
(setq line-move-visual nil) | |
;; スクロール | |
(setq scroll-step 1) | |
(setq scroll-margin 1) ;; C-l recenter | |
(setq scroll-conservatively 35) | |
; (setq next-screen-context-lines 1) | |
;; タブ | |
(setq-default tab-width 4) | |
(setq-default indent-tabs-mode nil) | |
;; 自動詰め込み、折り返し | |
(setq-default fill-column 76) | |
;; DnD で insert じゃなくて普通に開くように | |
(when (eq window-system 'ns) | |
(define-key global-map [ns-drag-file] 'ns-find-file) | |
(setq ns-pop-up-frames nil)) | |
;; マウスでドラッグ(範囲選択)してコピー | |
;; (24.1 からデフォルトが変わったので) | |
(setq mouse-drag-copy-region t) | |
;; 補完時の大文字小文字区別 | |
(setq completion-ignore-case t) | |
;; (setq read-file-name-completion-ignore-case t) | |
;; (setq read-buffer-completion-ignore-case t) | |
;; 検索時の大文字小文字の区別 | |
(setq-default case-fold-search t) | |
;; browse-url | |
(global-set-key [S-mouse-2] 'browse-url-at-mouse) | |
;; yank した部分を一瞬ハイライトさせる | |
;; http://quruli.ivory.ne.jp/diary/?date=20110416#p10 | |
(when window-system | |
(defadvice yank (after ys:yank-highlight activate) | |
(let ((ol (make-overlay (mark t) (point)))) | |
(overlay-put ol 'face 'highlight) | |
(sit-for 0.5) | |
(delete-overlay ol))) | |
(defadvice yank-pop (after ys:yank-pop-highlight activate) | |
(when (eq last-command 'yank) | |
(let ((ol (make-overlay (mark t) (point)))) | |
(overlay-put ol 'face 'highlight) | |
(sit-for 0.5) | |
(delete-overlay ol))))) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;; Mew - http://www.mew.org/ | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(when (eq system-type 'darwin) ; Mac でしか使ってない | |
(add-to-list 'load-path "/usr/local/share/emacs/site-lisp/mew/") | |
(when (locate-library "mew") | |
(autoload 'mew "mew" nil t) | |
(autoload 'mew-send "mew" nil t) | |
;; Optional setup (Read Mail menu for Emacs 21): | |
(if (boundp 'read-mail-command) | |
(setq read-mail-command 'mew)) | |
;; Optional setup (e.g. C-xm for sending a message): | |
(autoload 'mew-user-agent-compose "mew" nil t) | |
(if (boundp 'mail-user-agent) | |
(setq mail-user-agent 'mew-user-agent)) | |
(if (fboundp 'define-mail-user-agent) | |
(define-mail-user-agent | |
'mew-user-agent | |
'mew-user-agent-compose | |
'mew-draft-send-message | |
'mew-draft-kill | |
'mew-send-hook))) | |
) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;; Emacs Lisp mode | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; eldoc | |
(add-hook 'emacs-lisp-mode-hook 'turn-on-eldoc-mode) | |
(add-hook 'lisp-interaction-mode 'turn-on-eldoc-mode) | |
(setq eldoc-minor-mode-string "") | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;; dmacro.el - キー操作の繰返し検出 & 実行 | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; - http://www.pitecan.com/DynamicMacro/ | |
;; - http://www.pitecan.com/DynamicMacro/dmacro.el | |
(defconst *dmacro-key* "\C-t" "繰返し指定キー") | |
(global-set-key *dmacro-key* 'dmacro-exec) | |
(autoload 'dmacro-exec "dmacro") | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;; recentf - 最近開いたファイル | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
(require 'recentf) | |
(setq recentf-max-saved-items 200) | |
(recentf-mode +1) | |
;; 履歴の自動保存が必要なら…… | |
;; - Emacs で最近開いたファイルのリストを自動保存する。 - 日々、とんは語る。 | |
;; http://d.hatena.ne.jp/tomoya/20110217/1297928222 | |
;; - Emacs の recentf-mode をチューニングしたよ | |
;; http://masutaka.net/chalow/2011-10-30-2.html | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;; session.el | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; - http://emacs-session.sourceforge.net/index.html | |
;; - http://www.fan.gr.jp/~ring/Meadow/meadow.html#session.el | |
(require 'session nil t) | |
(setq session-initialize '(de-saveplace session places keys)) | |
(setq session-globals-include '((kill-ring 50) | |
(session-file-alist 100 t) | |
(file-name-history 100))) | |
(add-hook 'after-init-hook 'session-initialize) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;; minibuf-isearch | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; - http://www.sodan.org/~knagano/emacs/minibuf-isearch/ | |
;; - http://0xcc.net/unimag/3/ | |
(require 'minibuf-isearch) | |
(setq minibuf-isearch-ignore-case t) | |
(setq minibuf-isearch-use-migemo nil) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;; migemo | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; - https://github.com/emacs-jp/migemo | |
;; - http://0xcc.net/migemo/ | |
(cond | |
((eq system-type 'darwin) | |
;; Mac(Cocoa Emacs) | |
;; 1. brew install cmigemo などで cmigemo をインストール | |
;; 2. package.el などで migemo.el をインストール | |
(require 'migemo) | |
(setq migemo-command "cmigemo") | |
(setq migemo-options '("-q" "--emacs")) | |
(setq migemo-dictionary "/usr/local/share/migemo/utf-8/migemo-dict") | |
(setq migemo-user-dictionary nil) | |
(setq migemo-regex-dictionary nil) | |
(setq migemo-coding-system 'utf-8-unix) | |
(migemo-init)) | |
((eq system-type 'windows-nt) | |
;; Windows | |
;; - gnupack に入ってる | |
(setq migemo-command (concat (getenv "INST_DIR") "\\app\\cmigemo\\cmigemo")) | |
(setq migemo-options '("-q" "--emacs")) | |
(setq migemo-dictionary (concat (getenv "INST_DIR") "\\app\\cmigemo\\dict\\utf-8\\migemo-dict")) | |
(setq migemo-user-dictionary nil) | |
(setq migemo-regex-dictionary nil) | |
(setq migemo-use-pattern-alist t) | |
(setq migemo-use-frequent-pattern-alist t) | |
(setq migemo-pattern-alist-length 1024) | |
(setq migemo-coding-system 'utf-8-unix) | |
(load-library "migemo") | |
(migemo-init))) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;; popwin | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; - https://github.com/m2ym/popwin-el | |
(require 'popwin) | |
(popwin-mode +1) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;; vbnet-mode(VB.NET) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;; - http://www.emacswiki.org/emacs/VbDotNetMode | |
;; - http://www.emacswiki.org/emacs/vbnet-mode.el | |
(autoload 'vbnet-mode "vbnet-mode" "Mode for editing VB.NET code." t) | |
(setq auto-mode-alist (append '(("\\.\\(frm\\|bas\\|cls\\|vb\\)$" . | |
vbnet-mode)) auto-mode-alist)) | |
(defun my-vbnet-mode-fn () | |
"My hook for VB.NET mode" | |
(interactive) | |
(turn-on-font-lock) | |
(turn-on-auto-revert-mode) | |
(setq indent-tabs-mode nil) | |
(setq vbnet-mode-indent 4) | |
(setq vbnet-want-imenu t) | |
;; (require 'flymake) | |
;; (flymake-mode 1) | |
) | |
(add-hook 'vbnet-mode-hook 'my-vbnet-mode-fn) | |
;;; init.el ends here |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment