統合ターミナル
VMark にはエディタを離れずにコマンドを実行できる組み込みターミナルパネルが搭載されています。
Ctrl + `を押してターミナルパネルを切り替えます。
セッション
ターミナルは最大 5 つの同時セッションをサポートし、それぞれ独自のシェルプロセスを持ちます。右側の垂直タブバーに番号付きのセッションタブが表示されます。
| アクション | 手順 |
|---|---|
| 新しいセッション | + ボタンをクリック |
| セッションの切り替え | タブ番号をクリック |
| セッションを閉じる | ゴミ箱アイコンをクリック |
| シェルの再起動 | 再起動アイコンをクリック |
最後のセッションを閉じるとパネルは非表示になりますが、セッションは生き続けます — Ctrl + `で再度開くと元の場所に戻れます。シェルプロセスが終了した場合、任意のキーを押して再起動します。
キーボードショートカット
これらのショートカットはターミナルパネルにフォーカスがある場合に機能します:
| アクション | ショートカット |
|---|---|
| コピー | Mod + C(選択あり) |
| 貼り付け | Mod + V |
| クリア | Mod + K |
| 検索 | Mod + F |
| ターミナルの切り替え | Ctrl + ` |
TIP
テキスト選択なしのMod + Cは実行中のプロセスに SIGINT を送信します — 通常のターミナルで Ctrl+C を押すのと同じです。
検索
Mod + Fを押して検索バーを開きます。ターミナルバッファーをインクリメンタルに検索するために入力します。
| アクション | ショートカット |
|---|---|
| 次のマッチ | Enter |
| 前のマッチ | Shift + Enter |
| 検索を閉じる | Escape |
コンテキストメニュー
ターミナル内で右クリックしてアクセスします:
- コピー — 選択したテキストをコピー(何も選択されていない場合は無効)
- 貼り付け — クリップボードからシェルに貼り付け
- すべて選択 — ターミナルバッファー全体を選択
- クリア — 表示中の出力をクリア
- 表示をリセット — ターミナルを再描画してレンダリングキャッシュをリセット。長時間のセッション後に文字が重なったり、大文字小文字が混ざったり、文字化けしたりする場合に使用 — 重スタイルの CLI(例:Claude Code)を何時間も実行していると最もよく見られます
クリック可能なリンク
ターミナルはコマンド出力で 2 種類のリンクを検出します:
- Web URL — クリックしてデフォルトブラウザーで開く
- ファイルパス — クリックしてエディタでファイルを開く(
:line:colサフィックスと、ワークスペースルートに対して解決された相対パスをサポート)
シェル環境
VMark はすべてのターミナルセッションでこれらの環境変数を設定します:
| 変数 | 値 |
|---|---|
TERM_PROGRAM | vmark |
EDITOR | vmark |
VMARK_WORKSPACE | ワークスペースのルートパス(フォルダーが開いている場合) |
PATH | フルのログインシェル PATH(システムターミナルと同じ) |
統合ターミナルはログインシェルのPATHを継承するため、node、claude、その他のユーザーがインストールしたバイナリなどの CLI ツールを検出できます — 通常のターミナルウィンドウと同様に。
シェルは$SHELLから読み込まれます(/bin/shにフォールバック)。作業ディレクトリはワークスペースのルート、またはアクティブなファイルの親ディレクトリ、または$HOMEから開始します。
Ctrl+R(zsh/bash での逆方向履歴検索)などの標準的なシェルショートカットは、ターミナルにフォーカスがある場合に機能します — エディタによってインターセプトされません。
ターミナルがすでに実行中の状態でワークスペースまたはファイルを開くと、すべてのセッションが自動的に新しいワークスペースルートにcdします。
一時停止と再開
冗長な出力を生成する長時間実行プロセスでは、セッションをキルせずに、VMark から基盤のシェルプロセスを一時停止して CPU を解放できます。再開すると、プロセスは中断したところから続行します。
| アクション | 手順 |
|---|---|
| アクティブなセッションを一時停止 | セッションタブを右クリック → 一時停止 |
| 一時停止したセッションを再開 | 一時停止したタブを右クリック → 再開 |
一時停止中:
- セッションタブには薄暗いインジケーターが表示されます
- シェルは
SIGSTOP(POSIX)を受け取ります;OS はプロセスのスケジューリングを停止します - すでにターミナルに書き込まれていたバッファ済みの出力は画面上に保持されますが、再開するまで新しい出力は表示されません
- キル/クリア/再起動のコントロールは引き続き利用可能です
一時停止と再開は macOS/Linux 機能のみです — Windows のプロセス制御には同等のサスペンドシグナルがないため、Windows ビルドではメニュー項目は非表示になります。
設定
設定 → ターミナル を開いて設定します:
| 設定 | 範囲 | デフォルト | プラットフォーム |
|---|---|---|---|
| フォントサイズ | 10〜24 px | 13 px | すべて |
| 行の高さ | 1.0〜2.0 | 1.2 | すべて |
| 選択時にコピー | オン/オフ | オフ | すべて |
| Mac Option を Meta として使用 | オン/オフ | オフ | macOS |
変更はすべての開いているセッションに即座に適用されます。Mac Option を Meta として使用 は、統合ターミナルで macOS の Option キーを Meta としてルーティングし、emacs、tmux などのツールが Alt プレフィックスのショートカットを認識できるようにします。
永続性
ターミナルパネルの表示状態と高さは、ホットイグジットの再起動後に保存されて復元されます。シェルプロセス自体は保持できません — 再起動時に各セッションに新しいシェルが生成されます。一時停止されたセッションは、プロセス自体とともに SIGSTOP 状態を失います。