5.2. 設定ファイルに書き込んでいく場合 2

設定や定義する関数などを、コメントと一緒に ~/.emacs.my.el に記述していきます。

Emacs を起動したら C-x C-f と入力し、ミニバッファーに Find file: と表示されたら ~/.emacs.my.el と入力し Enter キーを押してください。

ブラウザなどで下の例をドラッグして選択(コピー)しておき、Emacs で C-y として yank(ペースト)します。

注釈のために 6ヶ所、行末に 1から6までの数字がありますが、その数字は消してください。

C-x C-s で保存します。

例5.2 Emacs の設定ファイル ~/.emacs.my.el の例

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 1
;;                       Time-stamp: <> 2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; 設定の例

;; 起動時に splash-screen を表示しないようにする。
;; emacs --no-splash
;; M-x display-splash-screen で表示。
(setq inhibit-startup-message t) 3

;; M-x shell での ls 等の color での表示のための設定
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)

;; migemo を有効にする
(load "migemo") 4

;; 複数のマーク地点 (C-Space,C-@) を利用するための設定 Emacs-22以上で利用可能
;; C-x C-@ や C-x C-Space でさらに前のマーク地点にまで戻れる。
(if (string-match "22." emacs-version)
    (setq set-mark-command-repeat-pop t)
  )

;; 関数などのヘルプを参照した時に、
;; lisp ファイルではなく Emacs自体のソースで定義されている場合に
;; ソースを参照するための設定 Emacs-22以上で利用可能
;; emacs の src.rpm をインストールし、rpmbuild -bp *spec まで実行しておく。
;; 以下は root で emacs22-22.0.50-0.20060403vl2.src.rpm をインストールした場合のパス。
(if (string-match "22." emacs-version)
    (setq find-function-C-source-directory "/usr/src/vine/BUILD/emacs-22.0.50.20060403/src")
  )

;; 関数定義の例

;; migemo の on/off 切替えと isearch-forward の実行 "\C-,"
(defun my-search-toggle-migemo-isearch-forward () 5
  "migemo-toggle-isearch-enable と isearch-forward の実行"
  (interactive)
  (migemo-toggle-isearch-enable)(isearch-forward)
  )
(global-set-key (kbd "C-,") 'my-search-toggle-migemo-isearch-forward) 6

;; migemo の on/off 切替えと isearch-backward の実行 "\C-."
(defun my-search-toggle-migemo-isearch-backward ()
  "migemo-toggle-isearch-enable と isearch-backward の実行"
  (interactive)
  (migemo-toggle-isearch-enable)(isearch-backward)
  )
(global-set-key (kbd "C-.") 'my-search-toggle-migemo-isearch-backward)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Local Variables: 7
;; mode: emacs-lisp
;; encode: euc-jp-unix
;; End:

1

Emacs の設定ファイルでは、「;」という文字があると、その行の ; 以降の部分はコメントとされ、無視されます。

2

Time-stamp: <> という部分は、ファイルを保存すると <> の部分に日時とユーザ名が入り、保存する度に自動的に更新されます。このファイル(~/.emacs.my.el)の更新日時を自動的に記録するというだけで、他のファイル等への影響はありません。

3

(setq inhibit-startup-message t) という部分で、起動時の splash screen を表示しないようにしています。

これで、Emacs を起動した時に、すぐにファイルの内容が表示されるようになります。

Emacs で用いられている lisp という言語では、t と nil が 真(肯定) と 偽(否定) として用いられます。もともとは nil となっているものなので t の部分を nil と書き換えると、起動時に splash screen が表示されるようになります。

4

load というものを使って、migemo というものを読み込んでいます。

migemo は、ローマ字で入力すると日本語も検索[5]できるツールで、load しておくと、C-s と C-r での検索時に migemo での検索が用いられるようになります。

5

Emacs では defun というものを使って関数を定義することが出来ます。

ここでは migemo を用いた検索と、通常の検索を切り替え、切り替えた後に検索を開始するという関数 my-search-toggle-migemo-isearch-forward を定義しています。

6

ここでは、defun で定義した my-search-toggle-migemo-isearch-forward という関数に、global-set-key というものを使って C-, というキーバインドを割り当てています。

7

ここには、このファイルの形式などの情報を書いておきます。

Local Variables: から End : までの部分は、このファイルを Emacs で開いたときに参照されます。




[5] 「tatoeba」と入力すると「tatoeba」という文字だけでなく、「たとえば」「タトエバ」「例えば」といったようなものも検索することができます。migemo というパッケージをインストールする必要があります。