概要
- Emacs には多くの便利な機能があるが、発見しづらい点が課題
- 本記事は Emacs標準搭載の隠れた機能 を紹介
- パッケージ不要、学習コストが低い機能のみ厳選
- 中級者〜上級者向け、基本操作を理解した後に読むことを推奨
- 実践的な利用方法や コマンド例 も解説
Emacsの隠れた標準機能紹介(第3回)
-
dictionary-tooltip-mode
- 単語の上にカーソルを置くと、その意味がツールチップで表示されるモード
- tooltip-mode が有効ならデフォルトで動作
- ローカル辞書 がある場合はそちらを優先利用
- Wiktionary 等の現代用語にも対応
- 単語の意味を素早く確認できる利便性
-
find-file/diredでのワイルドカード利用
- find-file(C-x C-f) でワイルドカード指定可能
- 例:
*foo*.txtで複数ファイルの同時オープン - Dired で特定ファイルのみのリスト表示もワイルドカードで実現
- サブディレクトリ内の特定パターンのファイル一括操作に便利
-
ffap-menu(find-file-at-pointの拡張)
- バッファ内のファイルパスやURLを自動検出し、一覧から選択・操作可能
- completing-readインターフェース で複数候補を一括処理
- Embark 等との連携で更なる活用が可能
-
プロパティ付きリンクの一覧取得(自作コマンド例)
- EWW等でテキストプロパティとして埋め込まれたURLも抽出
- カスタム関数でバッファ内全URLをリストアップし、選択・ブラウズ可能
-
compare-windows(ウィンドウ比較)
- 2つのウィンドウのカーソル位置からテキストを比較
- 最初の差分箇所でカーソルが停止し、内容を即座に確認
- バッファ種別やファイル属性を問わず 比較可能
- ディレクトリ内容の比較 にも応用可
- プレフィックス引数で空白無視も対応
-
dired-compare-directories(ディレクトリ比較)
- Diredで2つのディレクトリ内容を比較し、異なるファイル名を自動マーキング
- ファイル属性(更新日時やサイズ) によるカスタム比較も可能
- エディフ系コマンド(ediff-directories等)も用途別に用意
-
highlight-changes-mode(変更箇所のハイライト)
- バッファ内の編集内容をリアルタイムで色分け表示
- 保存時にハイライトをリセットし、未保存部分を強調
- after-save-hook/before-save-hook との連携で自動ON/OFF
- テキストモード全般での変更追跡に有用
Emacs用語・操作の現代的解釈
- M-x :Alt + xでコマンド実行
- C-x :Ctrl + x
- Frame :Emacsウィンドウ全体
- Window :分割ペイン
- Buffer :テキストやデータのまとまり
- Point :バッファ内のカーソル位置
- Active Region/Region :選択範囲(ハイライトされない場合も含む)
- Face :フォント、色などの表示プロパティ
おすすめの活用シーン
- 複数ファイルの一括編集や管理
- ワイルドカード指定やDired機能の活用
- ドキュメントやコードの差分確認
- compare-windowsやhighlight-changes-modeの即時比較
- URLやファイルパスの一括抽出・操作
- ffap-menuやカスタムコマンドによる効率化
- ディレクトリ構造やファイル属性の比較
- dired-compare-directoriesでの詳細な差分抽出
注意事項・対象読者
- Emacs初心者向けではない
- 基本操作や主要パッケージに慣れてからの利用推奨
- パッケージ追加不要、標準機能のみ
- 学習コストを抑え、すぐに試せる内容
- Emacs 28.1以降の環境を想定
- 古いバージョンでは一部機能非対応の場合あり
Emacsの標準機能には、まだまだ知られていない便利なツールが多数存在します。今回の紹介を参考に、日々の作業効率化や新たな発見につなげてください。