yaotti's diary

Software is Eating the World

.emacs

育ってきたので書いておく。コピペが多い。

(set-language-environment "Japanese")
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)

;;planner-mode
 (setq planner-project "ToDo")
     (setq muse-project-alist
           '(("ToDo"
             ("~/plans"   ;; Or wherever you want your planner files to be
             :default "index"
             :major-mode planner-mode
	     :visit-link planner-visit-link))))
     (require 'planner)


;;全角記号を正しく表示する
(utf-translate-cjk-set-unicode-range
 '((#x00a2 . #x00a3)                    ; ¢, £
   (#x00a7 . #x00a8)                    ; §, ¨
   (#x00ac . #x00ac)                    ; ¬
   (#x00b0 . #x00b1)                    ; °, ±
   (#x00b4 . #x00b4)                    ; ´
   (#x00b6 . #x00b6)                    ; ¶
   (#x00d7 . #x00d7)                    ; ×
   (#X00f7 . #x00f7)                    ; ÷
   (#x0370 . #x03ff)                    ; Greek and Coptic
   (#x0400 . #x04FF)                    ; Cyrillic
   (#x2000 . #x206F)                    ; General Punctuation
   (#x2100 . #x214F)                    ; Letterlike Symbols
   (#x2190 . #x21FF)                    ; Arrows
   (#x2200 . #x22FF)                    ; Mathematical Operators
   (#x2300 . #x23FF)                    ; Miscellaneous Technical
   (#x2500 . #x257F)                    ; Box Drawing
   (#x25A0 . #x25FF)                    ; Geometric Shapes
   (#x2600 . #x26FF)                    ; Miscellaneous Symbols
   (#x2e80 . #xd7a3) (#xff00 . #xffef)))

;auto-saving
(require 'auto-save-buffers)
(run-with-idle-timer 1.0 t 'auto-save-buffers) 

;; ツールバーを表示しない
(tool-bar-mode nil)


;;キーバインド
;;改行キーでオートインデント
(global-set-key "\C-m" 'newline-and-indent)
(global-set-key "\C-j" 'newline)
;;eshell
(define-key global-map "\C-l" 'eshell)
;;その行をリージョン選択
(global-set-key "\C-cm" 'mark-end-of-sentence)
;;switch-buffer
(global-set-key [?\C-;] 'iswitchb-buffer)

		 
;gauche
(setq scheme-program-name "gosh -i")
(autoload 'scheme-mode "cmuscheme" "Major mode for Scheme." t)
(autoload 'run-scheme "cmuscheme" "Run an inferior Scheme process." t)


;;eshellで".."を呼び出さないように
(setq eshell-glob-include-dot-dot nil)

;;バックアップファイルを作らない
(setq make-backup-files nil)


;;----------SKK関連----------
;; 入力メソッド
(setq emacs-ime "skk")

;; SKK
(if (or (equal emacs-ime "skk")
         (equal emacs-ime "SKK"))
    (if (not (null window-system))
        (progn
          ;; 変換開始キー
          (global-set-key "\C-x\C-j" 'skk-mode)
          (global-set-key "\C-xj" 'skk-auto-fill-mode)
          (global-set-key "\C-xt" 'skk-tutorial)
          (setq skk-large-jisyo "/usr/share/skk/SKK-JISYO.L")
          ;; 変換時,改行でも確定
          (setq skk-egg-like-newline t)
          ;; メッセージは日本語で
          (setq skk-japanese-message-and-error t)
          ;;"「"を入力したら"」"も自動で挿入
          (setq skk-auto-insert-paren t)
          ;;漢字登録のミスをチェックする
          (setq skk-check-okurigana-on-touroku t)
          ;; 句読点は , . を使う
          (setq skk-kuten-touten-alist
                '(
                  (jp . ("。" . "、" ))
                  (en . ("." . ","))
                  ))
          ;; jp にすると「。、」を使う
          (setq-default skk-kutouten-type 'en)
          ;; @で挿入する日付表示を半角に
          (setq skk-number-style nil)
          ;; 変換候補をツールチップに表示
          (setq skk-show-tooltip t)
          ;; 変換候補をインラインに表示
          (setq skk-show-inline t)
          ;; isearch時にSKKをオフ
          (setq skk-isearch-start-mode 'latin)
          ;; .と。を動的に決定
          (add-hook 'skk-mode-hook
                    (lambda ()
                      (save-excursion
                        (goto-char 0)
                        (make-local-variable 'skk-kutouten-type)
                        (if (re-search-forward "." 10000 t)
                            (setq skk-kutouten-type 'en)
                          (setq skk-kutouten-type 'jp)))))
          )))

;;----------SKKここまで----------


;;Startup Messageを表示しない
(setq inhibit-startup-message t)


;;補完候補をカーソルキーで表示
;;ファイルを開く時に,カーソルキーだけで選択できる
(require 'cycle-mini)


;;補完
;;C-s/C-r
;;先頭以外ではC-n|C-p
(require 'mcomplete) (turn-on-mcomplete-mode)


;;略称展開
;; 保存先を指定する
(setq abbrev-file-name "~/.abbrev_defs")
;; 略称展開のキーバインドを指定する
(define-key esc-map  " " 'expand-abbrev) ;; M-SPC
;; 起動時に保存した略称を読み込む
(quietly-read-abbrev-file)
;; 略称を保存する
(setq save-abbrevs t)


;;; マウスカーソルを消す
(setq w32-hide-mouse-on-key t)
(setq w32-hide-mouse-timeout 5000)


;;モード行の背景, 文字の色を変更
(set-face-background 'modeline "grey10")
(set-face-foreground 'modeline "SkyBlue")
(set-face-background 'highlight "grey10")
(set-face-foreground 'highlight "red")

;;フォント設定(東雲16)
(create-fontset-from-fontset-spec
    "-shinonome-gothic-medium-r-normal--16-*-*-*-*-*-fontset-shinonome_16r,
    ascii:-shinonome-gothic-medium-r-normal--16-*-iso8859-1,
    japanese-jisx0208:-shinonome-gothic-medium-r-normal--16-*-jisx0208.1990-0,
    katakana-jisx0201:-shinonome-gothic-medium-r-normal--16-*-jisx0201.1976-0")
(set-default-font "fontset-shinonome_16r")


;; 初期フレームの設定
(setq default-frame-alist
      (append (list '(foreground-color . "azure3")
		    '(background-color . "black")
		    '(border-color . "black")
		    '(mouse-color . "white")
		    '(cursor-color . "white")
		    '(font . "fontset-shinonome_16r")
		    '(width . 153)
		    '(height . 40)
		    '(top . 0)
		    '(left . 0))
	      default-frame-alist))


;;CSS-mode
(autoload 'css-mode "css-mode")
(setq auto-mode-alist
(cons '("\\.css\\'" . css-mode) auto-mode-alist))
;;インデントをc-styleにする
(setq cssm-indent-function #'cssm-c-style-indenter)


;;PHP-modeの設定
(autoload 'php-mode "php-mode" "PHP mode" t)
(defcustom php-file-patterns (list "\\.php[s34]?\\'" "\\.phtml\\'" "\\.inc\\'")
  "*List of file patterns for which to automatically invoke php-mode."
  :type '(repeat (regexp :tag "Pattern"))
  :group 'php)
(let ((php-file-patterns-temp php-file-patterns))
  (while php-file-patterns-temp
    (add-to-list 'auto-mode-alist
                 (cons (car php-file-patterns-temp) 'php-mode))
    (setq php-file-patterns-temp (cdr php-file-patterns-temp))))


;; 拡張子が*.tplと*.incはphp-modeにする
(add-to-list 'auto-mode-alist '("\\.tpl$" . php-mode))
(add-to-list 'auto-mode-alist '("\\.inc$" . php-mode))



;; mode name "Encoded-kbdl"の表示消す
(let ((elem (assq 'encoded-kbd-mode minor-mode-alist)))
  (when elem    (setcar (cdr elem) "")))



;; C-x bでbufferを開く時に補完
(iswitchb-mode 1)

;; region に色を付ける
(setq transient-mark-mode t)

;; 対応する括弧に色づけ
(show-paren-mode t)

;;タイトルバーにバッファ名を表示
(setq frame-title-format "%b")

;;; Twittering mode
(require 'twittering-mode)
(setq twittering-username "yaotti")
(setq twittering-password "********")

;;ホームディレクトリに移動
(cd "~")