Emacsの設定ファイル

間違って消してしまうことが多々あるのでメモ.
.emacs.d/init.el に次のファイルを記述.

"C-\"で日本語変換(mozc)をする.
"C-\"を入力するとtoggle-input-method関数が実行されて,変数default-input-methodが指すinput methodをトグル切り替えをする.
しかし,「M-x describe-variable (RET) default-input-method」で変数を確認すると"japanese"となっているので"japanese-mozc"に変更する.
(参考)SKK Manual: DDSKK を Emacs の Input Method とする

mozcをon/offしたときにカーソルの色が変わるようにする.
(設定の参考)
SDPARA を開発しよう: Emacs の mozc でカーソルの色を変更
Emacs Lisp TIPS
(色の参考)
三笠ホームページ:色名一覧


*注意 Emacsのことは知らないので参考程度に

;; .emacs.d/lispにload-pathを通す
(let ((default-directory(expand-file-name "~/.emacs.d/lisp")))
  (add-to-list 'load-path default-directory)
  (if (fboundp 'normal-top-level-add-subbirs-toload-path)
      (normal-top-level-add-subdirs-to-load-path)))

;;行番号の表示
(global-linum-mode t)
(setq linum-format "%4d:")

;; スクロールバーを消す
(set-scroll-bar-mode 'nil)

;; 対応する括弧を光らせる
(setq show-paren-delay 0)
(setq show-paren-style 'single)
(show-paren-mode t)

; color-theme
(add-to-list 'load-path "~/.emacs.d/lisp/color-theme-6.6.0")
(add-to-list 'load-path "~/.emacs.d/lisp/emacs-color-theme-solarized")
(when (require 'color-theme)
  (color-theme-initialize)
  ;; color-theme-solorized.el
  (when (require 'color-theme-solarized)
    (color-theme-solarized-dark)))

; バックアップを作成しない
(setq make-backup-files nil)
(setq auto-save-default nil)
(setq auto-save-list-file-name nil)
(setq auto-save-list-file-prefix nil)

;; nnで「ん」を入力
(setq quail-japanese-use-double-n t)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; C
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun my-c-mode-hook ()
  (c-set-style "linux")
;;  (c-set-style "bsd")
  (setq tab-width 4)
  (setq c-basic-offset tab-width))
(add-hook 'c-mode-hook 'my-c-mode-hook)

;;タブではなくスペースを使う
(setq-default indent-tabs-mode nil)
(setq indent-line-function 'indent-relative-maybe)


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; C++
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun my-c++-mode-hook ()
  (c-set-style "linux")
;;  (c-set-style "bsd")
  (setq tab-width 4)
  (setq c-basic-offset tab-width))
(add-hook 'c++-mode-hook 'my-c++-mode-hook)

;;タブではなくスペースを使う
(setq-default indent-tabs-mode nil)
(setq indent-line-function 'indent-relative-maybe)


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; PHP
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;(load-library "php-mode")
;(require 'php-mode)
(autoload 'php-mode "php-mode" "Major mode for editing php code." t)
(add-hook 'php-mode-user-hook
		  '(lamda ()
		   (setq tab-width 4)
           (setq indent-tabs-mode t)))

;;タブではなくスペースを使う
(setq-default indent-tabs-mode nil)
(setq indent-line-function 'indent-relative-maybe)


;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; ;; mozc
;; ;;
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 最低限の設定
(require 'mozc)

(set-language-environment "Japanese")
(setq default-input-method "japanese-mozc")

;; GUIの候補選択ウィンドウをカーソルの直下にぶら下げる(デフォルト)
;; (setq mozc-candidate-style 'overlay)

;; mozcのon/offでカーソルの色を変える
;; on
(add-hook 'input-method-activate-hook
          (lambda() (set-cursor-color "DarkOrange")))
;; off
(add-hook 'input-method-inactivate-hook
          (lambda() (set-cursor-color "grey46")))


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; markdown-mode
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; sudo apt-get install emacs-goodies-el markdown
(setq auto-mode-alist
      (cons '("\\.mk?d$" . markdown-mode) auto-mode-alist))
(add-hook 'markdown-mode-hook 'flyspell-mode)


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; その他
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; ウィンドウの移動をshift+
 (windmove-default-keybindings)

;; 行末の空白をハイライト
 (when (boundp 'show-trailing-whitespace)
   (setq-default show-trailing-whitespace t))

; 言語を日本語にする
(set-language-environment 'Japanese)
;; UTF-8とする
;; ターミナルの文字コード
(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)
;; ファイル名の文字コード
(setq file-name-coding-system 'utf-8)

;; 新規に作成したファイルをutf-8にする.
;; *ファイルの最後に追加しかいと有効にならない.
(set-default-coding-systems 'utf-8)

;; 最後にしない有効にならない
;; C-\ をタイプすると関数 toggle-input-method が実行される.
;; しかし,変数 default-input-method は "japanese" となりmozcが呼ばれないので変更
(setq default-input-method "japanese-mozc")