24でpackage.elでの運用にするといろいろ修正がいる.
;;--------------------------------------------------- ;; ;; Emacs全般の設定 ;;--------------------------------------------------- ;; 起動時に出てくるメッセージを消す (setq inhibit-startup-message t) ;; 行、列の表示 (line-number-mode t) (column-number-mode t) ;; C-h to Backspace (global-set-key "\C-h" 'delete-backward-char) ;; C-c C-c to comment-or-uncomment-region (global-set-key "\C-c\C-c" 'comment-or-uncomment-region) ;; C-kで行全体を削除 (setq kill-whole-line t) ;; ツールバー・メニューバーの非表示 ;; (menu-bar-mode -1) ;; (tool-bar-mode -1) ;; タブ幅を設定 (setq-default tab-width 4 indent-tabs-mode nil) ;; ビジュアルベルを使う ;; (setq visible-bell t) ;; ビープを無効に (setq ring-bell-function 'ignore) ;; 折り返し (setq truncate-partial-width-windows nil) ;; シンボリックリンクのリンク先を直接開く (setq vc-follow-symlinks t) ;; ファイルの自動リロードです (global-auto-revert-mode 1) ;;---------------------------------------------------- ;; ;; Text and Font ;;---------------------------------------------------- ;; 背景色と文字色 (setq default-frame-alist (append '((foreground-color . "ivory") (background-color . "black") (cursor-color . "deep pink") (alpha . (75 55 nil nil))) default-frame-alist)) ;; フォントを指定 (set-face-attribute 'default nil :family "Ricty" :height 160) (set-fontset-font nil 'japanese-jisx0208 (font-spec :family "Ricty")) ;;--------------------------------------------------- ;; ;; 機能拡張 ;;--------------------------------------------------- ;;画面を 2 分割したときの 上下を入れ替える swap screen (defun swap-screen() "Swap two screen,leaving cursor at current window." (interactive) (let ((thiswin (selected-window)) (nextbuf (window-buffer (next-window)))) (set-window-buffer (next-window) (window-buffer)) (set-window-buffer thiswin nextbuf))) (defun swap-screen-with-cursor() "Swap two screen,with cursor in same buffer." (interactive) (let ((thiswin (selected-window)) (thisbuf (window-buffer))) (other-window 1) (set-window-buffer thiswin (window-buffer)) (set-window-buffer (selected-window) thisbuf))) (global-set-key [f2] 'swap-screen) (global-set-key [S-f2] 'swap-screen-with-cursor) ;; 対応する括弧をハイライト (show-paren-mode t) (setq show-paren-style 'expression) (set-face-background 'show-paren-match-face "gray15") (set-face-foreground 'show-paren-match-face "white") ;;--------------------------------------------------- ;; ;; coffee-mode.el ;;--------------------------------------------------- (require 'coffee-mode) (defun coffee-custom () "coffee-mode-hook" ;; CoffeeScript uses two spaces. (set (make-local-variable 'tab-width) 2) ;; If you don't have js2-mode (setq coffee-js-mode 'javascript-mode) ;; If you don't want your compiled files to be wrapped (setq coffee-args-compile '("-c" "--bare")) ;; *Messages* spam (setq coffee-debug-mode t) ;; Emacs key binding (define-key coffee-mode-map [(meta r)] 'coffee-compile-buffer) ;; Riding edge. (setq coffee-command "/opt/local/bin/coffee") ;; Compile '.coffee' files on every save (and (file-exists-p (buffer-file-name)) (file-exists-p (coffee-compiled-file-name)) (coffee-cos-mode t))) (add-hook 'coffee-mode-hook 'coffee-custom) (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(column-number-mode t) '(show-paren-mode t) '(tool-bar-mode nil)) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. ) ;;--------------------------------------------------- ;; ;; auto-install.el ;;--------------------------------------------------- (require 'auto-install) (setq auto-install-directory "~/.emacs.d/auto-install/") (auto-install-update-emacswiki-package-name t) ;; (setq url-proxy-service '(("http". "localhost:8339"))) (auto-install-compatibility-setup) ;;--------------------------------------------------- ;; ;; anything ;;--------------------------------------------------- (require 'anything-startup) ;; open anything by C-l (global-set-key "\C-l" 'anything) (require 'anything-config) (setq anything-sources (list anything-c-source-buffers anything-c-source-bookmarks anything-c-source-recentf anything-c-source-file-name-history ; anything-c-source-locate anything-c-source-mac-spotlight anything-c-source-complex-command-history)) ;;--------------------------------------------------- ;; ;; auto-complete ;;--------------------------------------------------- (add-to-list 'load-path (expand-file-name "~/.gem/ruby/1.9.1/gems/rcodetools-0.8.5.0/")) (when (require 'auto-complete nil t) (require 'auto-complete-config) ;; (require 'auto-complete-ruby) (global-auto-complete-mode t) (set-face-background 'ac-candidate-face "lightgray") (set-face-underline 'ac-candidate-face "darkgray") (set-face-background 'ac-selection-face "steelblue") (define-key ac-complete-mode-map "\M-/" 'ac-start) (define-key ac-complete-mode-map "\t" 'ac-expand) (define-key ac-complete-mode-map "\r" 'ac-complete) (define-key ac-complete-mode-map "\M-n" 'ac-next) (define-key ac-complete-mode-map "\M-p" 'ac-previous) (define-key ac-mode-map (kbd "M-TAB") 'auto-complete) (ac-set-trigger-key "TAB") (setq ac-auto-start 3) (setq ac-dwim t) (set-default 'ac-sources '(ac-source-yasnippet ac-source-abbrev ac-source-words-in-buffer)) (add-hook 'auto-complete-mode-hook (lambda () (add-to-list 'ac-sources 'ac-source-filename) (add-to-list 'ac-sources 'ac-source-words-in-buffer))) (add-hook 'c-mode-hook (lambda () (setq ac-sources '(ac-source-gtags ac-source-yasnippet)))) (setq ac-modes (append ac-modes '(eshell-mode ;org-mode ))) ;(add-to-list 'ac-trigger-commands 'org-self-insert-command) (add-hook 'emacs-lisp-mode-hook (lambda () (setq ac-sources '(ac-source-yasnippet ac-source-abbrev ac-source-words-in-buffer ac-source-symbols)))) (add-hook 'eshell-mode-hook (lambda () (setq ac-sources '(ac-source-yasnippet ac-source-abbrev ac-source-files-in-current-dir ac-source-words-in-buffer)))) ;; (add-hook 'ruby-mode-hook ;; (lambda () ;; (setq ac-omni-completion-sources '(("\\.\\=" ac-source-rcodetools))))) ) ;;--------------------------------------------------- ;; ;; howm-mode ;;--------------------------------------------------- ;; ;; home-modeとorg-modeの共存 ;; (require 'org) ;; (add-hook 'org-mode-hook 'howm-mode) ;; (add-to-list 'auto-mode-alist '("\\.howm$" . org-mode)) ;; (setq howm-view-title-header "*") ;; ← howm のロードより前に書くこと ;; ;; キー割当の重複を避ける (お好みで) ;; (setq howm-prefix "\C-c ") ;; howm のキーを「C-c , □」から「C-z □」に変更 ;; howmの読み込み (push "~/.emacs.d/site-lisp/howm" load-path) (setq howm-menu-lang 'ja) (require 'howm-mode) (setq howm-file-name-format "%Y/%m/%Y_%m_%d.howm") ;; howmディレクトリの指定 (setq howm-directory "~/Dropbox/howm/") ;;--------------------------------------------------- ;; ;; org-mode ;;--------------------------------------------------- ;; (setq org-export-latex-coding-system 'euc-jp-unix) ;; (setq org-export-latex-date-format "%Y-%m-%d") ;; (setq org-export-latex-classes nil) ;; (add-to-list 'org-export-latex-classes ;; '("jarticle" ;; "\\documentclass[a4j,10pt,twocolumn]{jarticle}" ;; ;; "\\documentclass[a4j]{jarticle}" ;; ("\\section{%s}" . "\\section*{%s}") ;; ("\\subsection{%s}" . "\\subsection*{%s}") ;; ("\\subsubsection{%s}" . "\\subsubsection*{%s}") ;; ("\\paragraph{%s}" . "\\paragraph*{%s}") ;; ("\\subparagraph{%s}" . "\\subparagraph*{%s}") ;; )) ; ;;--------------------------------------------------- ;; ;; ruby-mode ;;--------------------------------------------------- ;; 括弧の後のインデントが深くなるのを防ぐ (setq ruby-deep-indent-paren-style nil)