;;======================================================================= ;; map-dir-list-into-load-path の定義 ;;======================================================================= ;; rubikitch さん作のユーティリティ ;; http://d.hatena.ne.jp/rubikitch/20090609/1244484272 (defun add-to-load-path-recompile (dir) (add-to-list 'load-path dir) (let (save-abbrevs) (byte-recompile-directory dir))) (defun map-dir-list-into-load-path (dir-lst) (mapcar #'(lambda (x) (add-to-load-path-recompile (expand-file-name x))) dir-lst)) ;; ;;======================================================================= ;; パスを通す ;;======================================================================= (defvar *dot-emacs-load-path-list* '("~/.emacs.d/auto-install" ;; ここで文字列でパスを通したいディレクトリを指定する ;; 例: "/i/want/to/make/a/path/to/the/directory" )) (map-dir-list-into-load-path *dot-emacs-load-path-list*) ;; ;;======================================================================= ;; dot-emacs-requirements-list ;;======================================================================= (defvar *dot-emacs-requirements-list* '(cl session ;; 必要な機能があったらここに書き込む ;; 例: auto-install )) (mapcar #'require *dot-emacs-requirements-list*) ;; ;;======================================================================= ;; フレームサイズ ;;======================================================================= (defvar *dot-emacs-frame-setting-list* '((width . 90) ; フレームの幅 (height . 49) ; フレームの高さ (top . 0) ; Y 表示位置 (left . 340) ; X 表示位置 (alpha . (100 25)))) ; 透明度 (loop for i in *dot-emacs-frame-setting-list* do (add-to-list 'initial-frame-alist i)) (setf default-frame-alist initial-frame-alist) ;; ;;======================================================================= ;; Misc ;;======================================================================= (mouse-wheel-mode t) ;;ホイールマウス (global-font-lock-mode t) ;;文字の色つけ (setf line-number-mode t) ;;カーソルのある行番号を表示 (auto-compression-mode t) ;;日本語infoの文字化け防止 (set-scroll-bar-mode 'right) ;;スクロールバーを右に表示 (global-set-key "\C-z" 'undo) ;;UNDO (setf frame-title-format ;;フレームのタイトル指定 (concat "%b - emacs@" system-name)) (display-time) ;;時計を表示 ;; (global-set-key "\C-h" 'backward-delete-char) ;;Ctrl-Hでバックスペース ;; (setf make-backup-files nil) ;;バックアップファイルを作成しない ;; (setf visible-bell t) ;;警告音を消す ;; (setf kill-whole-line t) ;;カーソルが行頭にある場合も行全体を削除 ;; (when (boundp 'show-trailing-whitespace) ;; (setq-default show-trailing-whitespace t)) ;;行末のスペースを強調表示 ;; ;;======================================================================= ;; 履歴の保存 ;;======================================================================= (add-hook 'after-init-hook 'session-initialize) ;; ;;======================================================================= ;; 最近使ったファイル ;;======================================================================= (recentf-mode) ;; ;;======================================================================= ;; リージョンに色を付ける ;;======================================================================= (setf transient-mark-mode t) ;; ;;======================================================================= ;; 対応する括弧を光らせる ;;======================================================================= (show-paren-mode) ;; ;;======================================================================= ;; C-c c で compile コマンドを呼び出す ;;======================================================================= (define-key mode-specific-map "c" 'compile) ;; ;;======================================================================= ;; スクリプトを保存する時、自動的に chmod +x を行うようにする ;;======================================================================= ;; http://www.namazu.org/~tsuchiya/elisp/#chmod ;; を参照 (defun make-file-executable () "Make the file of this buffer executable, when it is a script source." (save-restriction (widen) (if (string= "#!" (buffer-substring-no-properties 1 (min 3 (point-max)))) (let ((name (buffer-file-name))) (or (equal ?. (string-to-char (file-name-nondirectory name))) (let ((mode (file-modes name))) (set-file-modes name (logior mode (logand (/ mode 4) 73))) (message (concat "Wrote " name " (+x)")))))))) (add-hook 'after-save-hook 'make-file-executable) ;; ;;======================================================================= ;; End of File ;;=======================================================================