Emacsを使おうと思うので,調べたこととやったことをメモする.
1. 環境
使用環境は以下.
- Mac OS X Yosemite 10.10.1
2. 関連知識
2.1 基本コマンド
使いそうなコマンドをメモしておく1 2.何か不便に感じた時はそれを実現するコマンドがないかその都度調べる.
- C-:コントロールキー(Ctrl)
- M-:メタキー(Alt,Esc.Altは長押し.Escは1回押し.)
2.1.1 とりあえず
key | desc | notes |
---|---|---|
C-g | コマンド中断 | 困った時に |
2.1.2 移動
key | desc | notes |
---|---|---|
C-u | 上 | |
C-n | 下 | |
C-u | 上 | |
C-f | 次 | Forward |
C-b | 前 | Back |
M-f | 1単語次 | |
M-b | 1単語前 | |
C-e | 行末 | Endのe |
C-a | 行頭 | ABC…のa |
C-v | 次ページ | |
M-v | 前ページ | |
M-< | ファイル先頭 | |
M-> | ファイル末尾 | |
M-g g | 任意の行へ移動 |
2.1.3 操作
key | desc | notes |
---|---|---|
C-d | delete | |
C-h | back space | |
M-d | 1単語delete | |
M-BS | 1単語back space | |
C-k | 行末まで削除 | |
C-d | カーソル位置の文字を削除 | |
C-space | 領域始点 | |
M-w | 領域コピー | |
C-w | 領域カット | |
C-y | 貼り付け |
2.1.4 その他
key | desc | notes |
---|---|---|
C-s | 前方検索 | |
C-r | 後方検索 | |
C-x num | ウインドウ分割 | |
C-x o | ウインドウ移動 |
2.2 初期化
初期化について.
Emacsの起動時に設定等の初期化が行われるはずなので,どういう仕組みで行われているのかを調べてメモしておく.とりあえず,Emacsの公式ドキュメント3を読む.
初期化に用いられるファイル
Emacsは,最初にLispプログラムを読み込んで初期化する4 5.
- 個人用
- ~/.emacs( ~/.emacs.el )
- ~/.emacs.d/init.el
- サイト用(PC毎,全ユーザ共通)
- default.el
- site-start.el
初期化の順序
- サイト設定(
site-start.el
) - 個人設定(
.emacs
等)$HOME
から~/.emacs(~/.emacs.el)
を探索- 見つけた場合,読み込む
- 見つからなかった場合,
~/.emacs.d/init.el
を探索し,読み込む
- デフォルト設定(
default.el
)
読みこみたくない場合は-p
,他のユーザの初期化ファイルを読み込みたい場合は-u
をオプションとして指定する.また,個人設定でinhibit-default-init nil
と指定すると,default.el
は読み込まれない.-no-site-file
オプションを指定すると,site-start.el
は読み込まれない.
サイト設定とデフォルト設定は,Emacsがライブラリを読み込みに行くパス内(load-path
)に存在すれば読み込まれる.
各初期化ファイルの記述目的
参考サイト6より.
設定 | 記述目的 |
---|---|
サイト設定 | Emacs環境を用意した担当者が,標準的なものを設定 |
個人設定 | 個人用の設定 |
デフォルト設定 | 個人設定がない場合,あるいは使うとしたらコレ,という設定 |
設定の記述方法は別項で説明する.
2.3 ライブラリ
Emacsが読み込むライブラリについて触れる7 8.Lispコードを含むファイルをライブラリ(Library)と呼ぶ.基本的にEmacs Lispで書く(拡張子は.el
).
Emacs Lispファイルはバイトコード(拡張子は.elc
)にコンパイルされる.バイトコードはEmacs Lispファイルと比較してロードも実行も早く,容量も小さい.
ライブラリのロード
ロードを行うと,対象ファイル内の全ての式が評価され,設定が反映される.ロードはEmacs起動後に以下のコマンドで実行可能.
1
|
|
ライブラリの探索
- filename.elcを探す.
- filename.elを探す.
- filenameを探す.
対象ファイルを見つけた時点でロードし,見つからなかった場合はエラーとなる.
2.4 load path
load path を用いたライブラリのロード
load path
が定義されており,以下のコマンドを実行すればload path
内のディレクトリが全て探索される.同名の.el
と.elc
があった場合,.elc
が実行される.
1
|
|
load path のデフォルト値
load path
は変数load-path
として定義されている.探索対象のディレクトリがリスト構造で格納されている.
環境変数EMACSLOADPATH
が設定されていれば,その値で初期化される.もしくは,emacs/src/paths.h
に指定されたデフォルト値になる.
load path へのパスの追加
自作ライブラリ等が別のフォルダにある場合は,load path
に追加する.パスを追加する方法をいくつかあげる.
- cshの場合,
.login
ファイルに設定する
1
|
|
- shの場合
1 2 |
|
.emacs
ファイルに設定する
1 2 3 4 5 6 7 8 9 |
|
2.5 scratchバッファ
scratchバッファは,Emacs Lisp の実行環境であり,Emacs の設定を試し書きできる場所.以下で起動できる9.
1
|
|
C-j
で式を評価できる.
C-h f
で関数のヘルプが見れる.
C-h v
で変数の値が見れる.
3. やったこと
満を持して,色々やっていく.
まずは,とりあえずやりたいことをまとめる.
- Markdownをかけるようにして,さくっとブログを更新したい.
- カラースキームの設定をしたい.
満を持してといいつつ,今回は何もしていない.
次回に持ち越し.
3.1 最新版インストール
MacにはEmacsがデフォルトで入っている.
1 2 3 4 5 6 7 |
|
1
|
|
/Applications/
にシンボリックリンクを貼る.
1
|
|
確認.
1 2 3 4 5 6 7 |
|
インストールできた.
4. 次回やること
感想.Lispの勉強になりそう.エディターは使いこなすまでやってなんぼだと思っているので積極的に使っていく.
今回はほぼ何もしてないので,次回はパッケージ管理辺りを調べながら,具体的に色々設定していきたいと思う.
参考文献
- Emacsのキーボードショートカット一覧
- GNUEmacs の学習
- The Emacs Editor
- 49.4.4 How Emacs Finds Your Init File
- 16. `.emacs' ファイル
- Ubuntu の site-start.el
- 27.8 Libraries of Lisp Code for Emacs
- 13.1 プログラムでロードする方法
- うわっ…私のEmacs、使いにくすぎ?だったら…カスタマイズシヤッセー!!ダァダァシエリイェッスッシェーショーヘイヘイ!!!
- HomebrewでEmacsをインストール。
- Macでemacsを設定しよう
- Macで本家EmacsとHomebrew IMEパッチ版とEmacs Mac PortとAquamacsを比べてみる。