Obsidian 用のターミナルとして Windows Terminal の Quake モードを使う

Windows

これまで生成 AI はコーディングでは使っていたのですが、最近ではそれ以外の用途でも活用を模索しています。今回は、Obsidian でノートを書きながら、ショートカット一発でターミナルを呼び出して Claude Code を実行し、すぐ Obsidian に戻るような構成を考えました。VS Code のターミナル統合のような操作感を求めて試行錯誤した結果、Windows Terminal の Quake モードを Obsidian 用に常駐させる構成に落ち着いたので、本記事ではその過程と最終的なセットアップ手順をまとめます。


先に結論から

やりたかったこと:Obsidian で作業中、ショートカット一発でターミナルを呼び出して Claude Code を実行し、すぐ Obsidian に戻りたい。イメージは VS Code のターミナル統合。

失敗したアプローチ:Obsidian 内部の Terminal プラグインでは、ペインの表示 / 非表示制御に限界があった(→ §2)。

採用したアプローチ:Windows Terminal の Quake モードを Obsidian 用に常駐させ、ショートカット一発でドロップダウンさせる(→ §3)。

  • ステップ 1:Quake モード + キーバインドでトグルを実現
  • ステップ 2:wt コマンドのコマンドライン引数で起動プロファイルを指定
  • ステップ 3:VBScript 経由でバックグラウンド常駐

動作環境(2026-05 時点)

  • OS:Windows 11
  • WSL:Ubuntu 20.04.6 LTS
  • Obsidian:1.12.7
  • Windows Terminal:Stable

1. 背景:VS Code のように Claude Code を呼び出したい

普段 VS Code でコードを書いていて、そこでのエディタとターミナルの統合に慣れていました。具体的には、

  • ショートカット一発(「ターミナルの切り替え」)でエディタとターミナルのフォーカスをトグルできる
  • エディタで編集中はターミナルのペインが非表示になるので邪魔にならない
  • ターミナルを表示中もショートカットキーで境界線(スプリット幅)を調整できる(「ターミナルサイズの拡大 / 縮小」)

これと同じ感覚で、Obsidian でノート群を編集しながら、コンテキストを理解した Claude Code のターミナルを適宜呼び出して作業をする環境を整えることを目標としました。

2. 失敗したアプローチ:Obsidian 内部ターミナル

まず思いついたのが、Obsidian 内にターミナルを埋め込む方法です。コミュニティプラグイン「Terminal」を導入し、関連するキーバインドを設定することで、フォーカスのトグルは実現できました。具体的には、

  • 「ターミナルにフォーカス」:エディタからターミナルへフォーカス移動
  • 「ターミナルのフォーカス解除」→「エディタにフォーカス」:ターミナルからエディタへ戻る

しかし、ターミナルペインの表示 / 非表示や、画面分割の境界線(スプリット幅)の調整はショートカットキーから制御できないように見受けられました。これでは VS Code のような「サッと出してサッと隠す」体験には全然届きません。

回避策もいくつか試しましたが、どれもイマイチでした:

  • プラグイン「Maximize Active Pane」でフォーカス中のペインの全画面化トグルを試みるも、5 年以上更新停止のためか正常動作せず
  • サイドバーであれば表示 / 非表示をショートカットキーから制御できるものの、サイドバーの幅が狭くターミナルの表示が崩れてしまう

サイドバー配置時の表示の崩れはどうにかできそうではありましたが、そもそもターミナルは横長で使うのが好みのため、これ以上の深掘りはやめることにしました。

結論:Obsidian 内部のペイン分割機能だけでは、理想とするレイアウト制御には限界があると判断し、方針を変えることに。

3. 採用したアプローチ:Windows Terminal の Quake モード

Obsidian 内での解決を諦めて、OS 側のターミナル(Windows Terminal)を使う方向にシフトしました。

Windows Terminal には「Quake モード」という機能があります。これは、ウィンドウ名を _quake にすると適用される、ターミナルが画面上部にドロップダウンする特殊なモードです(参考 URL)。サイズは固定ですが、Alt+Enter で最大化して使うこともできます。

ここから 3 つのステップで、Obsidian 用に常駐する Quake ウィンドウを仕上げていきます。

ステップ 1:ショートカットでトグルできるようにする

Windows Terminal の settings.jsonactions 配列に以下を追加します。これは、globalSummon という特殊なアクションで、これを定義しておくことで、Windows Terminal が起動中であれば、いつでもターミナルウィンドウを呼び出すことができるようになります(参考 URL)。

{
    "command": {
        "action": "globalSummon",
        "name": "_quake",
        "desktop": "toCurrent",
        "monitor": "any"
    },
    "id": "User.globalSummon.obsidian"
}

このうち、actionname は固定で、desktopmonitor はお好みで設定します。また、すべてデフォルトでよいのであれば、{ "command": "quakeMode", "id": "..." } という簡易的な書式も用意されています(詳しくは上記の参考 URL を参照してください)。

続いて、同 json の keybindings 配列に以下を追加します。これにより、globalSummon アクションを実行するショートカットキーを割り当てることができます(win+@ は好みのキーで OK)。

{
    "id": "User.globalSummon.obsidian",
    "keys": "win+@"
}

これで Win+@ を押すと画面上部にターミナルがポッと現れてフォーカスが移り、再度 Win+@ を押すと画面から消えてフォーカスが元のウィンドウに戻るようになります。これで、VS Code のターミナルトグルに近い体験が、Obsidian との組み合わせでも実現できました。

残された課題globalSummon の仕様上、Quake ウィンドウの起動プロファイルを指定できません。Obsidian の Vault をカレントディレクトリとした WSL 環境を最初から呼び出せれば、より快適な環境になります。

ステップ 2:起動プロファイルを Obsidian 用に指定する

まず、同 json の profiles に以下を追加します。これは、Windows Terminal にプロファイルを追加するもので、今回の場合は、Obsidian の Vault をカレントディレクトリとした WSL 環境を開くようにしていて、プロファイル名は「Obsidian」としました(参考 URL)。

{
    "name": "Obsidian",
    "commandline": "wsl.exe",
    "startingDirectory": "C:\\Users\\<ユーザー名>\\Documents\\Obsidian Vault"
}

そのうえで、PowerShell 等で以下の wt コマンドを実行し(参考 URL)、目的のプロファイルを指定して Quake ウィンドウを先に起動しておくと、その後の Win+@ ではそのウィンドウが出し入れできるようになります。

wt -w _quake new-tab -p "Obsidian"

ここまでで、Vault をカレントディレクトリとした WSL 環境を、ショートカット一発でトグルできるようになりました。

残された課題:PC を起動するたびに手動でこのコマンドを実行する必要があり、面倒です。スタートアップ時に自動で待機状態にできれば楽になります。

ステップ 3:バックグラウンドで常駐させる

スタートアップフォルダ(Win+Rshell:startup)に前述の wt コマンドを登録すれば自動起動できるのですが、そのままやると PC 起動時に Quake モードのターミナルウィンドウが堂々と開いてしまい、いささか邪魔です。上記の参考 URL を見てみても、wt コマンドにはターミナルを最大化して起動するオプションはあれど、たとえば最小化して起動するようなオプションはないようです。

そこで VBScript(.vbs)を作成し、Run コマンドの第 2 引数に 0 を渡して完全にバックグラウンド(非表示)で起動させることにします。スタートアップフォルダにテキストファイルを新規作成して以下の内容で保存し、ファイル名を obsidian.vbs などとすれば OK です。

Set ws = CreateObject("WScript.Shell")
ws.Run "wt -w _quake new-tab -p ""Obsidian""", 0

これにより、PC 起動時に Obsidian 用プロファイルのターミナルが裏で立ち上がり、邪魔なウィンドウは出なくなります。

4. 完成形の運用フロー

[PC 起動時]       VBScript → wt が裏で自動起動・待機
[作業中]          Win+@ → 画面上部にターミナルが降りてくる
[Obsidian に戻る] Win+@ → ターミナルが引っ込み、フォーカスが戻る

VS Code のターミナル統合とまったく同じではないですが、Obsidian × WSL × Claude Code の作業環境としては十分にシームレスな操作感が得られました。

補足:うっかりターミナルを閉じてしまったときの対応

Quake ウィンドウをうっかり閉じて Windows Terminal が終了してしまうと、以降 Win+@ で呼び出せなくなってしまいます(globalSummon が効かなくなるため)。

これは Windows Terminal の設定(設定 → 互換性)で「バックグラウンド実行を許可」をオンにすることで解決することができました。この設定を有効にすることで、ウィンドウを閉じても Windows Terminal 自体は常駐し続けるので、いつでも Win+@ でターミナルを呼び出せます。

ただし、その場合は開いているターミナルが無いので、globalSummon によってデフォルトプロファイルでターミナルが新規作成されてしまうことになります。その際は、Ctrl+Shift+数字キー で目的のプロファイルタブをサッと追加起動する運用でカバーしています。

おわりに

Obsidian × Claude Code の具体的な活用方法はまだ模索中ですが、サッと呼び出せる作業環境が整ったことで、試行回数を増やせるようになりました。実際の使い方やそこから得られた知見については、別の記事で書ければと思います。

コメント

タイトルとURLをコピーしました