0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code v2.1.118入門 — Vim Visual Mode・カスタムテーマ・MCPフックで開発体験を刷新する

0
Last updated at Posted at 2026-06-11

Claude Code v2.1.118の新機能を表すヒーロー画像

はじめに

Anthropic は Claude Code v2.1.118 を公開しました。今回のリリースでは、Vim Visual Mode の完全サポートカスタムテーマシステムMCP ツールを直接呼び出せるフック機能という、開発体験を大きく変える 3 つの機能が追加されています。

本記事では、これら新機能の仕組みと具体的な設定方法を公式ドキュメント・リリースノートをもとに解説します。

この記事で学べること

  • Vim Visual Mode の使い方とテキストオブジェクト操作
  • JSON ファイルで Claude Code の UI カラーをカスタマイズする方法
  • フックから MCP ツールを直接起動する設定パターン
  • /usage 統合と DISABLE_UPDATES 環境変数など周辺の変更点

対象読者

  • Claude Code を日常的に使っているエンジニア
  • Vim キーバインドでターミナルを操作することに慣れている方
  • MCP を使ったエージェントワークフローを組んでいる方

前提環境

  • Claude Code v2.1.118 以降(claude --version で確認)
  • macOS / Linux / WSL

TL;DR

  • Vim Visual Mode: v(文字単位)・V(行単位)選択が追加。d, c, y などの演算子とテキストオブジェクト iw, i", a() が組み合わせ可能に
  • カスタムテーマ: ~/.claude/themes/ に JSON を置くだけ。/theme コマンドで選択、ライブリロード対応
  • MCP フック: フック設定に "type": "mcp_tool" を追加するだけで、既存の MCP サーバーのツールを hooks から直接呼び出せる
  • /usage 統合: /cost/stats/usage に統合(旧コマンドも引き続き動作)

Vim Visual Mode

Vim モードの状態遷移図:NORMAL・INSERT・VISUAL・VISUAL LINE の 4 状態

Visual Mode の有効化

Claude Code の Vim モードは、プロンプト入力ボックスのみに適用されます。

/vim

を実行すると Vim モードが有効になり、再度実行するとトグルで無効化されます。設定を永続化するには /config から Editor mode: vim を選択します。

v2.1.118 で追加された機能

v2.1.118 以前の Vim モードは INSERT / NORMAL モードと基本的なテキスト操作に限られていました。今回のリリースで Visual Mode が完全サポートされました。

コマンド 動作
v 文字単位のビジュアル選択を開始
V 行単位のビジュアル選択を開始
<Esc> / <C-[> Normal モードに戻る

テキストオブジェクトとの組み合わせ

Visual Mode 下で演算子(d, c, y)とテキストオブジェクトを組み合わせることで、効率的な編集が可能です。

# よく使うパターン
viw   → カーソル位置の単語を選択(inner word)
vi"   → ダブルクォート内を選択
va(   → 括弧と内容を含めて選択(around parentheses)
Vd    → 現在行を行選択して削除

実用例: JSON のキー・バリューを書き直す際、ci" で引用符内の文字列を一括削除して INSERT モードに入る操作が特に便利です。

カウントプレフィックス

NORMAL モードでカウントプレフィックスを付けることで、繰り返し操作を効率化できます。

3dd   → 3行削除
5j    → 5行下に移動
2dw   → 2単語削除

大きな数を入力しても処理が停止することはなく、安全に使用できます。

. による繰り返し

最後の変更操作は . で繰り返せます。同じ編集を複数箇所に適用する際に活用できます。

注意: Vim モードの適用範囲はプロンプト入力ボックスのみです。Claude の応答・ツール呼び出し結果・会話履歴などの表示エリアには影響しません。


カスタムテーマ

カスタムテーマシステムのアーキテクチャ:themes フォルダ → Claude Code → UI

テーマシステムの概要

v2.1.118 から、Claude Code の UI カラーを JSON ファイルで細かくカスタマイズできるようになりました。カスタムテーマは ~/.claude/themes/ ディレクトリに配置します。

基本的な JSON フォーマット

{
  "name": "Dracula",
  "base": "dark",
  "overrides": {
    "claude": "#bd93f9",
    "error": "#ff5555",
    "success": "#50fa7b"
  }
}
フィールド 説明 必須
name テーマの表示名 任意
base ベーステーマ("dark" or "light" 任意
overrides 上書きするカラートークン 任意

カラー値の書式: #rrggbb#rgbrgb(r,g,b)ansi256(n)ansi:<name> のいずれかが使用可能です。

テーマの適用手順

  1. ~/.claude/themes/my-theme.json を作成
  2. Claude Code 上で /theme を実行
  3. 一覧から my-theme(ファイル名の拡張子なし)を選択

テーマ設定値のパス: 選択すると custom:my-theme という形式で設定に保存されます。

インタラクティブな作成

既存のファイルを編集するのではなく、ウィザード形式で作成することも可能です。

  1. /theme を実行
  2. 一覧の末尾にある 「New custom theme…」 を選択
  3. テーマ名を入力
  4. 上書きしたいカラートークンを対話形式で選択

ライブリロード

~/.claude/themes/ 内のファイルを外部エディタで編集すると、実行中のセッションを再起動しなくても変更が即時反映されます。 Ctrl+E でハイライト中のカスタムテーマを直接エディタで開くショートカットも利用できます。

注意: 不明なトークン名や無効なカラー値は無視されるため、typo が原因でレンダリングが壊れることはありません。


MCP フック

フックと MCP(Model Context Protocol)の統合

v2.1.118 以前のフック設定では、検証や後処理ロジックをシェルスクリプトや HTTP エンドポイントとして実装する必要がありました。v2.1.118 から "type": "mcp_tool" を指定することで、設定済みの MCP サーバーのツールをフックから直接呼び出せるようになりました。

設定フォーマット

.claude/settings.json のフック設定に以下のように記述します。

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Edit",
        "hooks": [
          {
            "type": "mcp_tool",
            "server": "my-mcp-server",
            "tool": "validate_edit"
          }
        ]
      }
    ]
  }
}
フィールド 説明
type "mcp_tool" を指定
server MCP サーバー名(設定済みのサーバー名と一致させる)
tool 呼び出すツール名

フックの入力データ

MCP ツールには、フックのコンテキスト情報(ツール名、ツール入力、セッション情報)が引数として渡されます。MCP サーバー側でこれらの情報を受け取り、検証ロジックを実装できます。

活用シナリオ

コード品質チェック: Edit イベントに対して、MCP サーバー上のリンター呼び出しツールをフックに設定することで、ファイル編集前に自動検証を挟めます。

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "mcp_tool",
            "server": "observability-mcp",
            "tool": "log_bash_command"
          }
        ]
      }
    ]
  }
}

監査ログ: 上記例のように、Bash ツール実行後に観測系 MCP サーバーへイベントを記録するパターンが典型的なユースケースです。


その他の変更点

/usage への統合

/cost(コスト表示)と /stats(統計表示)が /usage コマンドに統合されました。旧コマンドは引き続きタブを開くショートカットとして機能するため、既存の操作習慣はそのまま使えます。

DISABLE_UPDATES 環境変数

DISABLE_UPDATES=1 claude

この環境変数を設定すると、自動アップデートだけでなく claude update による手動アップデートも含めて全ての更新経路を完全にブロックします。企業環境でバージョンを固定管理したい場合や、CI 環境での予期しないバージョン変更を防ぎたい場合に活用できます。

既存の DISABLE_AUTOUPDATER は自動更新のみをブロックしますが、DISABLE_UPDATES はより強力な制限を提供します。

セッション Recap(/recap)

/recap は v2.1.108 で導入済みの機能です。長時間のセッションに戻る際、会話の要約を生成できます。

/recap

設定は /config から Session Recap のオン/オフを切り替えられます。v2.1.110 以降、テレメトリを無効化している環境(Bedrock・Vertex・Foundry・DISABLE_TELEMETRY)でも利用可能になりました。オプトアウトは CLAUDE_CODE_ENABLE_AWAY_SUMMARY=0 で行えます。


まとめ

Claude Code v2.1.118 での主な変更点をまとめます。

機能 概要
Vim Visual Mode v/V によるビジュアル選択、テキストオブジェクト・演算子との組み合わせ
カスタムテーマ ~/.claude/themes/*.json でUI カラーをカスタマイズ、ライブリロード対応
MCP フック フック設定に "type": "mcp_tool" を追加するだけで MCP ツールを呼び出し可能
/usage 統合 /cost/stats を統合した新コマンド
DISABLE_UPDATES 手動アップデートも含む全更新経路のブロック
/recap v2.1.108 導入済み。テレメトリ無効環境(v2.1.110〜)でも利用可能

Vim ユーザーにとってはビジュアル選択のサポートにより、プロンプト編集の操作感が大幅に向上します。MCP フックの統合は、既存の MCP エコシステムと Claude Code のイベント駆動ワークフローをシームレスに接続する重要なアップデートです。

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?