目次
- 本書を読む前に
Chapter01 設定に必要な最低限のEmacs Lispの知識
- 本章に入る前の基礎知識
- 1.1 コマンド ~Emacsに命令する
- 1.2 S式 ~Emacs Lispの構成要素を知る
- 1.3 評価 ~Emacs Lispプログラムを実行する
- 1.4 関数 ~前置記法を知る
- 1.5 M-x ielm ~Lisp 式(S式)を対話的に評価する
- 1.6 .emacs ~Emacs起動時に自動で読み込むファイルを作成する
- 1.7 require ~Emacs Lispファイルをロードする
- 1.8 M-x byte-compile-file ~Emacs Lispファイルをバイトコンパイルする
- 1.9 auto-async-byte-compile.el ~自動バイトコンパイルをする
- 1.10 M-x list-load-path-shadows ~load-path優先度問題を解決する
- 1.11 M-; ~コメントを処理する
- 1.12 setq ~変数に値を設定する
- 1.13 defun ~関数を定義する
- 1.14 add-hook ~特定のタイミングで呼び出される関数を登録する
- 1.15 C-x C-e ~テキストに埋め込まれたEmacs Lisp式を評価する
Chapter02 初期装備に必要な知識
- 本章に入る前の基礎知識
- 2.1 ddskk ~日本語入力を行う
- 2.2 auto-install.el ~Emacs Lispインストーラを利用する
- 2.3 ELPA ~パッケージを簡単にインストールする
- 2.4 sticky.el ~大文字入力を楽にする
- 2.5
~Emacsに問い合わせする - 2.6 日本語 info ~日本語マニュアルを導入する
- 2.7 info ~infoドキュメントを読む
Chapter03 キーバインドについて
- 本章に入る前の基礎知識
- 3.1 キーマップ~押されたキーに対してコマンドを探索する
- 3.2 Ctrl+1文字 ~最重要コマンドを覚える
- 3.3 Meta+英小文字 ~重要コマンドを覚える
- 3.4 プレフィクスキー ~2ストローク以上のコマンドを覚える
- 3.5 define-key ~キーマップを変更する
- 3.6 define-key ~Ctrl+1文字に割り当てられるキーを探す
- 3.7 define-key ~その他に割り当てられるキーを探す
- 3.8 sequential-command.el ~同じコマンドを連続実行したときの振舞いを変更する
- 3.9 key-chord.el ~キーボード同時押しでコマンドを実行する
- 3.10 minor-mode-hack.el ~マイナーモード衝突問題を解決する
Chapter04 バッファ/ファイルを扱う
- 本章に入る前の基礎知識
- 4.1 ffap.el ~現在位置のファイル・URLを開く
- 4.2 uniquify.el ~ファイル名がかぶった場合にバッファ名をわかりやすくする
- 4.3 iswitchb.el ~バッファ切り替えを強化する
- 4.4 recentf.el ~最近使ったファイルを開く
- 4.5 bookmark.el ~ファイル内の特定の位置をブックマークする
- 4.6 emacsclient ~シェルから現在のEmacsにアクセスする
- 4.7 tempbuf.el ~使わないバッファを自動的に消す
- 4.8 auto-save-buffers.el ~ファイルを自動保存する
- 4.9 C-x v v ~バージョン管理システムに登録する
- 4.10 C-x v =,C-x v u ~バージョン管理システムで変更点を調べる・取り消す
- 4.11 C-x v l ~バージョン管理システムで変更履歴を見る
- 4.12 C-x C-f,C-x d ~ファイルリストからファイルを操作する
- 4.13 wdired.el ~ディレクトリ内のファイル名を自由自在に編集する
- 4.14 tramp.el ~リモートマシンのファイルに透過的にアクセスする
- 4.15 sudoedit ~root権限でファイルを編集する
Chapter05 カーソル移動
- 本章に入る前の基礎知識
- 5.1 文字・単語・行・文単位の移動 ~矢印キーを使わずにカーソルを移動する
- 5.2 M-x transient-mark-mode ~リージョンに色をつける
- 5.3 screen-lines.el ~見かけの行でカーソルを移動する
- 5.4 C-s,C-r ~インクリメンタルサーチで対象文字列の位置にカーソル移動する
- 5.5 migemo.el ~ローマ字のまま日本語をインクリメンタルサーチする
- 5.6 point-undo.el ~カーソル位置を戻す
- 5.7 bm.el ~カーソル位置に目に見える印をつける
- 5.8 goto-chg.el ~最後の変更箇所にジャンプする
Chapter06 入力支援
- 本章に入る前の基礎知識
- 6.1 autoinsert.el ~ファイル作成時にテンプレートを挿入する
- 6.2 redo.el ~「やり直し」をカイゼンする
- 6.3 sense-region.el ~矩形を選択しやすくする
- 6.4 M-/ ~バッファから単語を補完する(動的略語展開)
- 6.5 yasnippet.el ~略語から定型文を入力する
- 6.6 yasnippet.el ~スニペットを定義する
- 6.7 yasnippet.el ~スニペットを展開するコマンドを定義する
- 6.8 yasnippet.el ~新規作成ファイルに自動でスニペットを展開する
- 6.9 yasnippet.el ~スニペットをその場で定義して使う
- 6.10 M-x hippie-expand ~略語展開・補完を行うコマンドをまとめる
- 6.11
, ~キーボードマクロで操作を自動化する - 6.12 M-x kmacro-save ~キーボードマクロをコマンド化する
- 6.13 再帰編集 ~コマンド実行中に新たなコマンドを実行する
- 6.14 auto-complete.el ~IDEのような入力支援をする
Chapter07 検索/置換
- 本章に入る前の基礎知識
- 7.1 M-x re-builder ~正規表現を対話的に作成する
- 7.2 M-x occur ~バッファ内で正規表現にマッチする行を出力する
- 7.3 M-s o (isearch-occur) ~インクリメンタルサーチからマッチ行一覧を作成する
- 7.4 M-% ~文字列を置換する
- 7.5 C-M-% ~正規表現置換をする
- 7.6 color-moccur.el ~バッファ内(複数可)を検索する
- 7.7 moccur-edit.el ~color-moccur.elの結果を編集する
- 7.8 M-x grep ~grepプログラムの実行結果に飛ぶ
- 7.9 igrep.el ~grepのコマンドラインを打たずにgrep検索する
- 7.10 grep-a-lot.el ~複数の*grep*バッファを使う
- 7.11 grep-edit.el ~grep検索結果を編集する
Chapter08 Emacsをもっと便利に
- 本章に入る前の基礎知識
- 8.1 col-highlight.el ~現在桁をハイライトする
- 8.2 M-x highlight-regexp ~正規表現にマッチした部分を自動ハイライトする
- 8.3 M-x follow-mode ~ワイドディスプレイを有効活用する
- 8.4 w3m.el (emacs-w3m) ~Webブラウザとして利用する
- 8.5 twittering-mode.el ~twitterを利用する
- 8.6 gist.el ~gist.github.comを利用する
- 8.7 navi2ch.el ~2ちゃんねるブラウザを利用する
- 8.8 rcirc.el ~シンプルなIRCクライアントを利用する
- 8.9 yaoddmuse.el ~EmacsWikiを編集する
- 8.10 yaoddmuse.el ~Emacs LispファイルをEmacsWikiにアップロードする
- 8.11 EmacsWiki svn リポジトリ ~EmacsWikiのリポジトリを丸ごと取得する
- 8.12 M-x customize-group ~GUIで変数・フェイスをカスタマイズする
Chapter09 外部プログラム
- 本章に入る前の基礎知識
- 9.1 M-x shell ~Emacsでシェルを動かす
- 9.2 M-x dired-do-shell-command ~diredからシェルコマンドを実行する
- 9.3 M-!,M-| ~シェルコマンドの実行結果を表示・貼り付けする
- 9.4 multi-shell.el ~複数のshellバッファを利用する
- 9.5 M-x compile ~Emacsの中でコンパイラを動かす
- 9.6 M-x executable-interpret ~スクリプトを実行する
- 9.7 M-x diff ~2つのファイルの相異点を出力する
- 9.8 shell-history.el ~Emacs内のシェルコマンド実行履歴を保存する
- 9.9 multi-term.el ~Emacsで端末エミュレータを利用する
Chapter10 テキスト整形/テキスト処理
- 本章に入る前の基礎知識
- 10.1 text-adjust.el ~日本語の文章を整形する
- 10.2 M-x sort-lines ~行をソートする
- 10.3 C-x r t,C-x r k,C-x r d ~引用マークを付けたり外したりする
- 10.4 boxes ~コメントを目立たせる・装飾する
- 10.5 M-x align ~桁揃えをする
Chapter11 view-modeを徹底活用
- 本章に入る前の基礎知識
- 11.1 C-x C-r ~view-modeでファイルを開く
- 11.2 C-x C-q ~view-modeを有効・無効にする
- 11.3 define-key ~view-modeのキー割り当てを変更する
- 11.4 viewer.el ~書き込み不能なファイルでview-modeから抜けないようにする
- 11.5 viewer.el ~view-modeのときにmode-lineに色をつける
- 11.6 viewer.el ~メジャーモードに合わせてview-modeのキーバインドを設定する
- 11.7 viewer.el ~特定のファイル・すべてのファイルをview-modeで開く
Chapter12 Emacs Lispプログラミング支援
- 本章に入る前の基礎知識
- 12.1 C-M-f,C-M-b,C-M-d,C-M-u,C-M-SPC,C-M-k,C-M-t ~S式・リストを編集する
- 12.2 C-M-a,C-M-e,C-M-h ~関数間を移動・関数をマークする
- 12.3 paredit.el ~括弧の対応を取りながらS式を編集する
- 12.4 eldoc.el ~Emacs Lisp関数・変数のヘルプをエコーエリアに表示する
- 12.5 C-x F,C-x K,C-x V ~関数定義へジャンプする
- 12.6 usage-memo.el ~*Help*バッファにメモを書き込めるようにする
- 12.7 M-x apropos ~正規表現にマッチする変数名・関数名・フェイスを探す
- 12.8 M-x apropos-value ~値にマッチする変数名を検索する
- 12.9 M-x apropos-documentation ~ドキュメントにマッチするシンボルを検索する
- 12.10 M-x apropos-library ~ライブラリの定義内容を知る
- 12.11 lispxmp.el ~Emacs Lisp式の値をコメントで注釈する
- 12.12 edit-list.el ~リスト変数の内容を編集する
- 12.13 el-expectations.el ~ユニットテストを書く
- 12.14 batch-byte-compile ~コマンドラインからバイトコンパイルする
Chapter13 プログラミング/文書作成支援
- 本章に入る前の基礎知識
- 13.1 open-junk-file.el ~使い捨てのファイルを開く
- 13.2 summarye.el ~バッファのサマリを表示する
- 13.3 text-translator.el ~言語を自動判別して複数のWeb翻訳サービスを同時に使う
- 13.4 html-fold.el ~HTML・XMLの要素を隠して見栄えをよくする
- 13.5 M-x ediff-files ~2つのファイルの相異点をハイライトする・取り込む
- 13.6 M-x ediff-merge-files ~2つのファイルをマージしたファイルを作成する
- 13.7 hideif.el ~C言語のプリプロセッサを隠す
- 13.8 hideshow.el ~ブロックを折畳む
- 13.9 M-x imenu ~現在のファイルにある関数定義にジャンプする(言語非依存)
- 13.10 M-x which-func-mode ~現在の関数名を常に表示する
- 13.11 M-x flymake-mode ~リアルタイムにプログラミング言語の文法チェックをする
- 13.12 ipa.el ~ファイルに直接書き込まずにメモをする
- 13.13 multiverse.el ~ファイルのスナップショットを取る
- 13.14 M-. ~タグファイルを使って関数定義へジャンプする(言語非依存)
- 13.15 gtags.el ~GNU GLOBALでソースコード解析を楽にする
- 13.16 fold-dwim.el ~複数の折畳み・展開コマンドに統一的なインターフェースを提供する
Chapter14 org-mode ~統合文書作成環境
- 本章に入る前の基礎知識
- 14.1 M-RET,
, ~見出し・項目を入力する - 14.2 M-x org-insert-heading-dwim ~1階層下・上の見出し・項目を入力する
- 14.3
, ~行・見出し・リストを移動する - 14.4 M-x org-remember ~瞬時にメモを取る
- 14.5 「|」,TAB ~表を作成する
- 14.6 C-c C-t,
, ~TODOリストを作成する - 14.7 C-c C-s,C-c C-d ~予定日時,締切日時を設定する
- 14.8 C-c C-q,C-c C-c,C-c / T ~タグを作成・検索する
- 14.9 C-c l,C-c C-l ~ハイパーリンクを作成する・辿る
- 14.10 *bold* /italic/ _underline_ =code= +del+ ~文書を装飾する
- 14.11 「:」,#+BEGIN_EXAMPLE~#+END_EXAMPLE ~そのまま出力する
- 14.12 [/],[ ],C-c C-c ~チェックリストを作成する
- 14.13 #+INCLUDE: ~別なファイルを取り込む
- 14.14 C-c a ~予定表を見る
- 14.15 C-c C-e ~HTMLに変換する
Chapter15 anything.el ~すべてを統べるものとその仲間たち
- 本章に入る前の基礎知識
- 15.1
m ~ヘルプで使い方を覚える - 15.2 C-p,C-n,RET,C-v,M-v ~オブジェクトを選択する
- 15.3 RET,TAB,C-e,C-j ~アクションを実行する
- 15.4
, ,C-o ~複数の情報源を扱う - 15.5 M-x anything-for-files ~ファイルを開くコマンドをまとめる
- 15.6 C-z(継続アクション) ~anythingバッファを閉じずにアクションを実行する
- 15.7 M-x anything-resume ~直前のanythingセッションを復元する
- 15.8 M-x anything-execute-anything-command ~設定済みanythingを試す
- 15.9 M-x anything-call-source ~情報源を試す
- 15.10 descbinds-anything.el ~キーバインドを調べる
- 15.11 M-x anything-complete-shell-history ~シェルコマンドの履歴から補完
- 15.12 M-x anything-apropos ~コマンド名・関数名・変数名・フェイス名検索をする
- 15.13 M-x anything-show-kill-ring ~過去のkill-ringの内容を取り出す
- 15.14 M-x anything-lisp-complete-symbol-partial-match ~Emacs Lispシンボルを補完する
- 15.15 M-x anything-grep ~grep結果をさらに絞り込む
- 15.16 anything-c-moccur.el ~インクリメンタルサーチとoccurを合体する
- 15.17 C-c C-u ~候補を再計算する
- 15.18 anything-other-buffer ~anythingコマンドを定義する
- 15.19 変数 ~anythingをチューニングする
Chapter16 anything.elプログラミング
- 本章に入る前の基礎知識
- 16.1 type ~オブジェクトの型を宣言して情報源を作成する
- 16.2 init ~情報源の初期化をする
- 16.3 candidates-in-buffer ~バッファの行から情報源を作成する
- 16.4 candidates-file ~ファイルの行から情報源を作成する
- 16.5 grep-candidates ~ファイルの行から情報源を作成する(高速版)
- 16.6 candidates,display-to-real,real-to-display ~候補の見た目を変更する
- 16.7 candidate-transformer,filtered-candidate-transformer ~候補全体を加工する
- 16.8 header-name ~ヘッダを変更する
- 16.9 delayed,requires-pattern ~処理時間のかかる情報源を作成する
- 16.10 volatile ~入力のたびにcandidates関数を実行する
- 16.11 persistent-action ~継続アクションを指定する
- 16.12 anything-candidate-number-limit,candidate-number-limit ~候補数を変更する
- 16.13 dummy ~パターンをそのまま候補にする
- 16.14 multiline ~複数行にわたる候補を使う
- 16.15 type:line ~特定の行番号へジャンプする情報源を作成する
- 16.16 headline ~正規表現にマッチする行を出力する情報源を作成する
- 16.17 type:file-line ~特定のファイルの行番号へジャンプする情報源を作成する
- 16.18 anything-marked-candidates ~マークされた候補を得る
- 16.19 anything ~anythingの呼び出し方を細かく制御する
- 16.20 anything-test-candidates ~情報源をテストする
- 16.21 anything-debug-forms ~デバッグをする
- 16.22 anything-attr,anything-attrset,anything-attr-defined ~属性の値を参照・設定する
- 16.23 anything-compile-source-functions ~anythingプラグインを作成する