2010年9月2日木曜日

Emacs仕事術(2) 便利な設定を追加


このエントリーをはてなブックマークに追加


前回の導入で基本的な操作は可能だがもうちょっと便利に使うための設定を入れ込んでいく。

1.yankした個所をハイライトする。
C-y したときに大きな領域がyankされると、どこからどこまでが張り付いたのか分かりにくいので、ハイライトさせる

2.browse-kill-ring.el
通常killingバッファーに格納された文字列は C-y の後に M-y でKillingに格納された順に表示されていくが、これを一覧から選択できるようにしてやる。
M-y で履歴を表示して、n/p で選択、y で張り付け。hを押せばヘルプが見られる。

3.dabbrev-ja.el
Emacsは文字入力中に M-/ で同一バッファから文字列を検索し補完をしてくれる。
しかし標準でこの機能は英語にしか働かないので、日本語にも効くようにしてやる。

4.dabbrev-highlight.el
上記の補完元となった単語をハイライトする。

5.mcomplete.el
Emacsを使っていると、M-x でコマンドを直接実行する機会が多々出てくる。
このElispを導入すると M-x バッファにインクリメンタルサーチ機能を持たせてくれるので、
コマンドの一部しか覚えてなくても実行できて非常に便利。

6.カラーテーマの設定
Emacsの表示カスタマイズは非常に膨大で細部まで設定可能だが、それゆえ1から自分好みに設定するのは難しい。
color-themeを導入することで、事前に準備されたテーマから好みのものを設定するだけでよくなる。
オススメはcolor-theme-subtle-hacker

7.redo.el
EmacsはC-/でUndoを実行できるが、デフォルトではRedoがない。
使えると便利なので導入しておく。
以下の事前に入手し、c:\emacs\site-lispへ入れておく
http://www.emacswiki.org/emacs/browse-kill-ring.elhttp://namazu.org/~tsuchiya/elisp/dabbrev-ja.elhttp://www.namazu.org/~tsuchiya/elisp/dabbrev-highlight.elhttp://homepage1.nifty.com/bmonkey/emacs/elisp/mcomplete.elhttp://code.google.com/p/gnuemacscolorthemetest/downloads/list
(取得したファイルを解凍して、coloer-theme.el と themes をsite-lispへ)
・http://www.fan.gr.jp/~ring/Meadow/elisp/redo.el

以下の設定をc:\emacs\home\.emacsへ追加
;; ---------------------------------------------
;; Killing Buffer関連
;; ---------------------------------------------

; yank した文字列を強調表示
(when (or window-system (eq emacs-major-version '21))
  (defadvice yank (after ys:highlight-string activate)
    (let ((ol (make-overlay (mark t) (point))))
      (overlay-put ol 'face 'highlight)
      (sit-for 0.5)
      (delete-overlay ol)))
  (defadvice yank-pop (after ys:highlight-string activate)
    (when (eq last-command 'yank)
      (let ((ol (make-overlay (mark t) (point))))
        (overlay-put ol 'face 'highlight)
        (sit-for 0.5)
        (delete-overlay ol)))))


; M-y で yank を履歴から選択
; http://www.emacswiki.org/emacs/browse-kill-ring.el
(require 'browse-kill-ring)
(global-set-key "\M-y" 'browse-kill-ring)



;; ---------------------------------------------
;; dabbrev 関連
;; ---------------------------------------------

; 日本語補完を賢く行う
; http://namazu.org/~tsuchiya/elisp/dabbrev-ja.el
(load "dabbrev-ja")

; 補完元に使われた単語をハイライトする
; http://www.namazu.org/~tsuchiya/elisp/dabbrev-highlight.el
(require 'dabbrev-highlight)


;; ---------------------------------------------
;; M-x にインクリメンタルサーチを付ける
;; ---------------------------------------------

; http://homepage1.nifty.com/bmonkey/emacs/elisp/mcomplete.el
(require 'mcomplete)
(turn-on-mcomplete-mode)



;; ---------------------------------------------
;; カラーテーマの設定
;; ---------------------------------------------

;; http://code.google.com/p/gnuemacscolorthemetest/downloads/list
;; からファイルを取ってきて、site-lispに coloer-theme.el と themesフォルダを入れる
;; M-x coloer-theme-select でインタラクティブにテーマを選択できる。

(require 'color-theme)
(color-theme-initialize)
(color-theme-subtle-hacker)



;; ---------------------------------------------
;; redo 機能の追加
;; ---------------------------------------------

; http://www.fan.gr.jp/~ring/Meadow/elisp/redo.el
(require 'redo)
(define-key global-map [?\C-.] 'redo)

入門GNU Emacs第3版

入門GNU Emacs第3版

価格:3,990円(税込、送料別)