Emacsテクニックバイブル
~作業効率をカイゼンする200の技~

[表紙]Emacsテクニックバイブル~作業効率をカイゼンする200の技~

紙版発売
電子版発売

A5判/384ページ

定価3,058円(本体2,780円+税10%)

ISBN 978-4-7741-4327-9

ただいま弊社在庫はございません。

電子版

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

普段Emacsを使っている人を対象に,「もう少し文字入力を楽にしたい」「もう少しバッファ操作を強化したい」といった要望をEmacs Lispの活用やちょっとしたテクニックで改善する「作業効率に特化した逆引きリファレンス」です。Emacs Lispを自分でバリバリ書くというわけではなく,用意したものを設定するだけで簡単に利用できます。また,最終章で最近話題のanything.elでどう実現するかも解説します。最新のEmacs23準拠。

こんな方におすすめ

  • Emacsをもっと便利に,快適に使いたい人

目次

  • 本書を読む前に

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プラグインを作成する

著者プロフィール

るびきち

1996年からLinuxを使い出し,EmacsとRubyに出会う。それ以来,必要な情報を素早くわかりやすい形で取り出す方法を模索し続けている。Emacsに新たな風を吹き込むべくanything.el等多数のEmacs Lispプログラムを開発。著書に「Ruby逆引きハンドブック」(シーアンドアール研究所)他がある。