Emacs超入門[2]:基本的なカスタマイズ方法と定番カスタマイズ例 5ページ
設定ファイルに起動時に実行するコマンドを記述する
上記で説明した「global-set-key」や「setq」というのは、すべてEmacsに用意されているコマンドである。実は.emacsファイルはelispのスクリプトファイルであり、Emacsは起動時にこのスクリプトファイルを実行しているのである。.emacsファイルではキーバインディングの設定や変数値の設定だけでなく、コマンドを記述することで起動時に特定の作業を自動実行させることもできる。
たとえば、「prefer-coding-system」という、ファイルの新規作成時に使用するテキストエンコーディングを指定するコマンドがある。起動時にこのコマンドに「utf-8-unix」という値を与えて実行させるには、次のように記述すればよい。
(prefer-coding-system 'utf-8-unix)
なお、スクリプト中にコメントを入れるには、「;」を利用する。elispでは「;」から行末までがコメントとして扱われ、その内容を無視する。
そのほか、一般的によく使われる設定例を下記にまとめている。適宜必要なものを設定するとよいだろう。
;; キーワードのカラー表示を有効化
;; 「t」の部分を「nil」にするとカラー表示をOffにできる
(global-font-lock-mode t)
;; テキストエンコーディングとしてUTF-8を優先的に使用する
;; 「utf-8」の部分を「cp932」とするとCP932(Windows用Shift JIS)優先となる
(prefer-coding-system 'utf-8)
;; 起動時のメッセージを表示しない
;;「t」を「nil」にするとメッセージが表示される
(setq inhibit-startup-message t)
;; 選択範囲をハイライトする
;;「t」を「nil」にするとハイライトなしに
(setq-default transient-mark-mode t)
;;; 行番号・桁番号をモードラインに表示する・しない設定
(line-number-mode t) ; 行番号。tなら表示、nilなら非表示
(column-number-mode t) ; 桁番号。tなら表示、nilなら非表示
;; 対応するカッコをハイライト表示する
(show-paren-mode 1)
;; オートセーブOff
;; 「nil」を「t」にするとOnに
(auto-save-mode nil)
;; バックアップファイルを作る
;; 「nil」を「t」にするとバックアップファイルを作らない
(setq backup-inhibited nil)
;; 下記の「nil」を「t」とすると終了時にオートセーブファイルが削除される
(setq delete-auto-save-files nil)
;; モードラインに現在時刻を表示する
(display-time)
;; CarbonEmacsでIMを利用するための設定(CarbonEmacsのみ必要)
(set-keyboard-coding-system 'sjis-mac)
(set-clipboard-coding-system 'sjis-mac)
;; Meadow向けの日本語環境設定(Meadowのみ必要)
(set-language-environment "Japanese")
(mw32-ime-initialize)
(setq default-input-method "MW32-IME")
;; カレントディレクトリをホームディレクトリに設定
;; ""内は任意のディレクトリを指定可能
(cd "~/")
;; 選択範囲の色を指定
(set-face-background 'region "SkyBlue")
(set-face-foreground 'region "black")
;; 起動時のウィンドウサイズ、色などを設定
(if (boundp 'window-system)
(setq default-frame-alist
(append (list
'(foreground-color . "black") ; 文字色
'(background-color . "white") ; 背景色
'(border-color . "white") ; ボーダー色
'(mouse-color . "black") ; マウスカーソルの色
'(cursor-color . "black") ; カーソルの色
'(cursor-type . box) ; カーソルの形状
'(top . 60) ; ウィンドウの表示位置(Y座標)
'(left . 140) ; ウィンドウの表示位置(X座標)
'(width . 80) ; ウィンドウの幅(文字数)
'(height . 40) ; ウィンドウの高さ(文字数)
)
default-frame-alist)))
(setq initial-frame-alist default-frame-alist )