Carbon Emacs設定メモ .emacs

Carbon Emacsがすごくよくできているので、Vimから移行。
ELisp の ElScreen はうまく動かなかった

;;ELisp PATH
(setq load-path (cons "~/.emacs.d/elisp" load-path))

;;ELisp : install-elisp : Elispファイルのインストール簡略化
(require 'install-elisp)
(setq install-elisp-repository-directory "~/.emacs.d/elisp/")

;; ELisp : auto-complete
(require 'auto-complete)
(global-auto-complete-mode t)

;; Elisp : linum : 行番号の表示
(require 'linum)
(global-linum-mode 1) ;; デフォルトでONにする
(global-set-key [f5] 'linum-mode) ;; F5キーにON/OFFの切り替えを割り当てる
(setq linum-format "%5d ") ;; 5桁とスペースの領域を割り当てる

;; Elisp : jaspace : 全角空白を表示させる
(require 'jaspace)
(setq jaspace-alternate-jaspace-string "□") ;; 全角空白を表示させる
(setq jaspace-alternate-eol-string "↓\n") ;; 改行記号を表示させる
(setq jaspace-highlight-tabs t) ;; タブを表示
(add-hook 'text-mode-hook 'jaspace-mode) ;; フック

;; ;; setlang utf-8
(set-language-environment "Japanese")
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-clipboard-coding-system 'sjis-mac)
(set-buffer-file-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)

;; encording for file name
(require 'utf-8m)
(set-file-name-coding-system 'utf-8m)

;; color
(set-foreground-color "white")
(set-background-color "black")
(set-cursor-color "light blue")
(set-frame-parameter nil 'alpha 90 )

;; font
;(if (eq window-system 'mac) (require 'carbon-font))
;(fixed-width-set-fontset "hirakaku_w3" 12)
;(setq fixed-width-rescale nil)

;; key bind
(mac-key-mode 1) ;; Macキーバインドを使う
(setq mac-option-modifier 'meta) ;optionをメタキーにする
(define-key global-map "\C-z" 'undo) ;undo
(define-key global-map "\C-ci" 'indent-region) ;インデント
(define-key global-map "\C-c\C-i" 'dabbrev-expand) ;補完
(setq pc-select-selection-keys-only t) ;; シフト + 矢印で範囲選択
(pc-selection-mode 1) ;; シフト + 矢印で範囲選択
(fset 'yes-or-no-p 'y-or-n-p) ;;"yes or no"を"y or n"にする


;; base setting
(setq frame-title-format (format "emacs@%s : %%f" (system-name))) ;;; タイトルバーにファイル名を表示する
(global-font-lock-mode t) ;;文字の色つけ
(setq mac-allow-anti-aliasing nil) ;;アンチエイリアス解除
(display-time) ;;時計を表示
(setq indent-line-function
'indent-relative-maybe) ;;インデント
(setq line-number-mode t) ;;カーソルのある行番号を表示
(transient-mark-mode 1) ;;選択範囲に色を付ける
(auto-compression-mode t) ;;日本語infoの文字化け防止
(setq indent-line-function 'indent-relative-maybe) ;;tabキー設定
(setq default-tab-width 4) ;;tabは4文字分
(show-paren-mode 1) ;; 対応する括弧を光らせる。
;;(setq make-backup-files nil) ;; backup file setting
(setq delete-auto-save-files t) ;; 終了時にオートセーブファイルを消す
;; (global-hl-line-mode) ;; 編集行のハイライト
(setq completion-ignore-case t) ;;; 補完時に大文字小文字を区別しない
(setq partial-completion-mode 1) ; 補完機能を使う


;; GUI setting
(setq inhibit-startup-message t) ;; スタートアップページを表示しない
(tool-bar-mode -1) ;;ツールバーは表示しない
(setq visible-bell t) ;; 警告音を消す
(require 'saveplace) ;; 前回のカーソル位置を記憶
(setq-default save-place t) ;; 前回のカーソル位置を記憶
(setq save-place-file "~/etc/places.txt") ;; 前回のカーソル位置を記憶
(setq scroll-conservatively 35
scroll-margin 0
scroll-step 1) ;1行ずつスクロールする

;; window setting
(if window-system (progn
(setq initial-frame-alist '*1
(setq truncate-partial-width-windows nil) ;; ウインドウ分割時に画面外へ出る文章を折り返す

;; full screen setting
(defun my-mac-toggle-max-window ()
(interactive)
(if (frame-parameter nil 'fullscreen)
(set-frame-parameter nil 'fullscreen nil)
(set-frame-parameter nil 'fullscreen 'fullboth)))
(global-set-key "\C-cm" 'my-mac-toggle-max-window)

;; user mail-address
(setq user-full-name "hoge hoge")
(setq user-mail-address "mail@address")


;====================================
; 最近使ったファイル」を(メニューに)表示する
;====================================
; M-x recentf-open-files で履歴一覧バッファが表示される。
(require 'recentf)
;;http://homepage.mac.com/zenitani/elisp-j.html#recentf
;; /sudo:hogehoge などが履歴に残っていると、起動時に毎回パ
;; スワードを聞いてくるのでその履歴だけを削除する。
;;(setq recentf-exclude '("^/[^/:]+:")) ;;tramp対策。
(setq recentf-auto-cleanup 'never) ;;tramp対策。
(recentf-mode 1)


;;;====================================
;;;; Buffer 設定
;;;===================================
;;; バッファ選択
(global-set-key "\C-x\C-b" 'bs-show) ;;bs-show
;;; iswitchb は、バッファ名の一部の文字を入力することで、
;;; 選択バッファの絞り込みを行う機能を実現します。
;;; バッファ名を先頭から入力する必要はなく、とても使いやすくなります。
(iswitchb-mode 1) ;;iswitchbモードON
;;; C-f, C-b, C-n, C-p で候補を切り替えることができるように。
(add-hook 'iswitchb-define-mode-map-hook
(lambda ()
(define-key iswitchb-mode-map "\C-n" 'iswitchb-next-match)
(define-key iswitchb-mode-map "\C-p" 'iswitchb-prev-match)
(define-key iswitchb-mode-map "\C-f" 'iswitchb-next-match)
(define-key iswitchb-mode-map "\C-b" 'iswitchb-prev-match)))
;;; iswitchbで補完対象に含めないバッファ
(setq iswitchb-buffer-ignore
'(
"*twittering-wget-buffer*"
"*twittering-http-buffer*"
"*WoMan-Log*"
"*SKK annotation*"
"*Completions*"
))

(server-start)

*1:width . 100) (height . 60) (left . 60)))