🗒️

EmacsでClaude Code:AI駆動の文書作成・情報整理術

に公開

🎯 本記事のゴール

EmacsユーザーがClaude Code IDEを導入する際の実際の手順、課題、メリット・デメリットを共有し、AIを活用した文章作成、情報整理、ローカルタスクの効率化をEmacs環境で始めるための実用的な情報を提供する

はじめに:古きよきEmacsでモダンなAI体験を

Emacsを愛用している方にとって、新しいAIツールの波は興味深くも悩ましいものです。VS CodeやCursorなどのモダンなエディタが次々とAI機能を統合する中、我らがEmacsでも同じような体験ができないものか。

そんな思いから、Claude Code IDEをEmacs環境で試してみました。開発だけでなく、文章作成、情報整理、ローカルファイル管理などの日常的なタスクでこそ、その真価を発揮することがわかりました。

Claude CodeはAnthropicが提供するAI駆動ツールで(公式ドキュメント)、通常はターミナルで動作しますが、claude-code-ide.elパッケージ(GitHub)を使うことでEmacs内から直接利用できます。

この記事では、実際にEmacsでClaude Code IDEを導入・運用してみた体験を、開発以外の用途も含めてお伝えします。

Claude Code IDEとは?

まず、Claude Code IDEについて簡単におさらいしておきましょう。

主な特徴

  • AI駆動のコンテンツ生成・編集:自然言語での文書作成、コード生成、情報整理
  • コンテキスト理解:プロジェクト全体やファイル構造を把握して適切な提案
  • ファイル操作:読み書き、検索、整理、リファクタリングを一括実行
  • MCP(Model Context Protocol)統合:Emacsのエコシステムとの深い連携

なぜEmacsで使いたいのか?

Emacsユーザーにとって、以下の理由からEmacs内でClaude Codeを使いたいニーズがあります:

  1. 一貫したワークフロー:文書作成からファイル整理まで、すべてをEmacs内で完結
  2. キーバインドの統一:慣れ親しんだEmacs操作ですべてのAI機能を利用
  3. バッファ管理:Emacsの強力なウィンドウ・バッファシステムでAI出力も効率管理
  4. ローカルファイル管理:プライベートな文書やメモの整理に最適

セットアップ:claude-code-ide.elの導入

実際に私が行った設定を詳しく見ていきます。

前提条件

# Claude Code CLIのインストール(事前に必要)
npm install -g @anthropic/claude-code

詳細なインストール手順は公式ドキュメントを参照してください。

Emacs設定

私のinit.elでの実際の設定です:

;; ============================================================================
;; SYSTEM INTEGRATION
;; ============================================================================

;; macOS: import PATH so Emacs sees your shell environment (npm, claude, etc.)
(use-package exec-path-from-shell
  :if (memq window-system '(mac ns))
  :config (exec-path-from-shell-initialize))

;; ============================================================================
;; DEVELOPMENT TOOLS
;; ============================================================================

;; Terminal backend
(use-package vterm
  :ensure t)

;; Claude Code IDE
(use-package claude-code-ide
  :vc (:url "https://github.com/manzaltu/claude-code-ide.el" :rev :newest)
  :init
  (setq claude-code-ide-terminal-backend 'vterm)
  :bind ("C-c C-'" . claude-code-ide-menu)
  :config
  (claude-code-ide-emacs-tools-setup))

設定のポイント

  1. exec-path-from-shell

    (use-package exec-path-from-shell
      :if (memq window-system '(mac ns))
      :config (exec-path-from-shell-initialize))
    

    macOSでEmacsがシェル環境のPATHを認識するために必須。これがないとclaude codeコマンドが見つからない。

  2. vterm統合

    (setq claude-code-ide-terminal-backend 'vterm)
    

    より高性能な端末エミュレータvtermを使用。shellやetermよりも応答性が良い。

  3. キーバインド

    :bind ("C-c C-'" . claude-code-ide-menu)
    

    覚えやすく、他のキーバインドと競合しないショートカット。

実体験:実際に使ってみて

🎯 良かった点

1. シームレスな統合

Emacs内でClaude Codeが起動し、馴染みのあるバッファとして表示されます。文章執筆中でも別ウィンドウを開く必要がなく、集中力を維持できます。

2. vtermの威力

従来のshell-modeと比べて、vterm(GitHub)の応答性は格段に向上。Claude Codeとの対話的なやり取りもスムーズです。

3. Emacsらしいワークフロー

  • C-c C-'でメニュー呼び出し
  • 他のバッファとの切り替えもC-x oで統一
  • split-windowとの併用で、文書とAI出力を並べて表示

4. ローカルファイルとの連携

特に優秀なのが、Emacsで管理しているローカルファイルとの連携です:

  • マークダウン文書の校正と改善
  • Obsidian連携により個人的なメモやアイデアの整理・発展が最強(別途記事化予定)

😅 苦労した点

1. 初期セットアップコストの高さ

  • claude-code-ide.el より古くからある claude-code.el と迷い、AIと比較検討。結論、claude-code-ideのほうが新しい点(古いものをブラッシュアップする目的のものが多い)、MCP連携に優れている点、GitHubの成熟度合いを見て判断。
Feature / Capability stevemolitor/claude-code.el manzaltu/claude-code-ide.el
Terminal integration Yes — supports vterm and EAT Yes — also supports vterm and EAT
Emacs-aware IDE features Basic — transient menu, session management, region/file sending, error-fix commands, notifications Advanced — uses MCP (Model Context Protocol) for deep Emacs ecosystem integration, including LSP/xref, tree-sitter, diagnostics, project-awareness, ediff diffing, and more
Project/session handling Yes — multiple project instances, resuming conversations Yes — automatic project detection, multi-session support
Diagnostics & diff support Basic — likely relies on navigating to code, but not built-in diff views Rich — integrated with Flycheck, Flymake, and ediff diff views for clearer code changes
Tool extensibility & Emacs leverage Moderate — some Monet integration available Extensive — can expose any Emacs function to Claude via MCP, including project info, xrefs, ASTs, etc.
Maturity & visibility Longer history, more stars/repos visibility Newer (released ~Aug 2, 2025), gaining attention in Emacs communities
  • exec-path-from-shell(GitHub)の設定が必須(特にmacOS)
  • PATHが通っていないとclaude codeが見つからずエラー
  • EAT or vtermなど細かい意思決定をする場面が多く、すべてAIとともに比較検討(良い時代になりました)

2. パフォーマンスの違い

ターミナル版と比べて、若干の遅延を感じることがあります:

ターミナル直接 → Claude Code応答時間: ~1-2秒
Emacs経由 → Claude Code応答時間: ~2-3秒

3. 発展途上感

Thinking中にウィンドウがカクついたりと、まだまだ動作が不安定なところが多い。

4. 学習コストの高さ

Emacsの柔軟性との裏返しですが、コマンドオプションが多く手に馴染むまでにそこそこ学習コストがかかる。

比較:ターミナル版 vs Emacs統合版

項目 ターミナル版 Emacs統合版
起動速度 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐
応答性 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐
統合感 ⭐⭐ ⭐⭐⭐⭐⭐
設定の簡単さ ⭐⭐⭐⭐⭐ ⭐⭐⭐
デバッグ容易性 ⭐⭐⭐⭐ ⭐⭐
Emacsユーザー体験 ⭐⭐ ⭐⭐⭐⭐⭐

トラブルシューティング

  1. 「claude command not found」エラー

    ;; 解決法:exec-path-from-shellの設定確認
    (exec-path-from-shell-copy-env "PATH")
    
  2. vtermが正常に動作しない

    # 解決法:必要なライブラリをインストール
    brew install cmake libtool
    

Emacsユーザーへの推奨度

🟢 推奨する人

  • Emacs歴3年以上:設定に慣れ親しんでいる
  • 文書作成・情報整理:ブログ、レポート、メモ管理を効率化したい
  • 統合環境愛好者:すべてをEmacs内で完結させたい
  • ローカルファイル管理重視:プライベートなデータを外部サービスに送らずAI活用したい

🟡 検討が必要な人

  • Emacs初心者:基本設定で手一杯の場合は時期尚早
  • 安定性重視:実験的機能より確実性を求める場合
  • パフォーマンス最優先:わずかな遅延も許容できない場合

🔴 推奨しない人

  • 設定ファイルをいじりたくない:追加設定が必要
  • Webブラウザ版AIで十分:現状に満足している場合

まとめ:EmacsでAI活用の新しい可能性

claude-code-ide.elを使ったClaude Code IDEの統合は、Emacsユーザーにとって新しい作業体験を提供してくれます。開発だけでなく、文章作成、情報整理、ローカルファイル管理において特に力を発揮します。

🎯 得られたメリット

  • 一貫したワークフロー:文書作成からファイル整理まで、AIツールの境界がなくなる
  • プライバシー重視:ローカルファイルを安全にAI活用できる
  • カスタマイズ性:Emacs Lispでさらなる拡張が可能

💡 今後の展望

Emacsユーザーにとって、「古き良きエディタ」でも最新のAI技術を活用できることは大きな意味があります。長年培ったワークフローを変えることなく、文書作成から情報整理まで、AIの恩恵を受けられるのは魅力的です。

特にMCP(Model Context Protocol)統合により、Emacsのエコシステム全体がAIと連携できる可能性は計り知れません。個人的なナレッジベース構築、文書管理、アイデア整理などの用途で、今後さらなる発展が期待されます。

🔗 References

Discussion