ターミナル基本
Visual Studio Code には、ワークスペースのルートから開始するフル機能の統合ターミナルが含まれています。これはエディターと統合されており、リンクやエラー検出などの機能をサポートします。統合ターミナルは、スタンドアロンのターミナルと同様に、mkdir や git などのコマンドを実行できます。
ワークスペースが制限付きモードの場合、ワークスペースの内容に基づいてシェルが自動的にコードを実行するのを防ぐため、ターミナルの起動がブロックされます。
ターミナルは次のようにして開くことができます。
- メニューから、ターミナル > 新しいターミナル、または表示 > ターミナルのメニュー コマンドを使用します。
- コマンド パレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) から、表示: ターミナルの切り替えコマンドを使用します。
- エクスプローラーでは、コンテキスト メニューの 統合ターミナルで開く コマンドを使用して、フォルダーから新しいターミナルを開くことができます。
- ターミナル パネルを切り替えるには、⌃` (Windows、Linux Ctrl+`) キーボード ショートカットを使用します。
- 新しいターミナルを作成するには、⌃⇧` (Windows、Linux Ctrl+Shift+`) キーボード ショートカットを使用します。
VS Code のターミナルには、シェル統合と呼ばれる追加機能があり、コマンドの左側やスクロールバーにあるデコレーションで、コマンドが実行された場所を追跡します。

VS Code の外で作業したい場合は、⇧⌘C (Windows、Linux Ctrl+Shift+C) キーボード ショートカットを使用して外部ターミナルを開きます。
ターミナル シェル
統合ターミナルでは、マシンにインストールされているさまざまなシェルを使用でき、デフォルトはシステムのデフォルトから取得されます。シェルは検出され、ターミナル プロファイルのドロップダウンに表示されます。

ターミナル シェルの設定の詳細については、ターミナル プロファイルの記事を参照してください。
ターミナルの管理
ターミナル タブ UI は、ターミナル ビューの右側にあります。各ターミナルには、名前、アイコン、色、および(あれば)グループ デコレーションを含むエントリがあります。

ターミナル インスタンスを追加するには、ターミナル パネルの右上にある + アイコンを選択するか、ターミナル ドロップダウンからプロファイルを選択するか、⌃⇧` (Windows、Linux Ctrl+Shift+`) コマンドを実行します。この操作により、そのターミナルに関連付けられたタブ リストに別のエントリが作成されます。
ターミナル インスタンスを削除するには、タブにホバーしてゴミ箱ボタンを選択するか、タブ項目を選択して Delete を押すか、ターミナル: アクティブなターミナル インスタンスを強制終了コマンドを使用するか、右クリックのコンテキスト メニューを使用します。
ターミナル グループ間を移動するには、次をフォーカス ⇧⌘] (Windows、Linux Ctrl+PageDown) および前をフォーカス ⇧⌘[ (Windows、Linux Ctrl+PageUp) を使用します。
ターミナルのステータスが変化すると、タブ ラベルのターミナル タイトルの右側にアイコンが表示されることがあります。たとえば、ベル(macOS)や、タスクにおいてエラーがない場合はチェック マーク、エラーがある場合は X が表示されます。アイコンにホバーすると、アクションが含まれる場合があるステータス情報を確認できます。
グループ(分割ペイン)
ターミナルを分割して、複数のターミナルを並べて配置し、グループを作成します。
- 右側のターミナル リストのエントリにホバーし、インライン分割ボタンを選択します。
- コンテキスト メニューを右クリックし、分割メニュー オプションを選択します。
- Alt を押しながら、タブ、+ ボタン、またはターミナル パネルの単一のタブをクリックします。
- ⌘\ (Windows、Linux Ctrl+Shift+5) コマンドを実行します。
新しいターミナルの作業ディレクトリは、 terminal.integrated.splitCwd 設定に依存します。
グループ内のターミナル間を移動するには、前のペインをフォーカス ⌥⌘← (Windows、Linux Alt+Left) するか、次のペインをフォーカス ⌥⌘→ (Windows、Linux Alt+Right) します。
リスト内でタブをドラッグ&ドロップすると、タブの順序が入れ替わります。タブをメイン ターミナル領域にドラッグすると、ターミナルをあるグループから別のグループに移動できます。
ターミナルを独自のグループに移動するには、コマンド パレットまたは右クリックのコンテキスト メニューから ターミナル: ターミナルの分割解除 コマンドを使用します。
エディター領域のターミナル
ターミナル: エディター領域に新しいターミナルを作成コマンド、ターミナル: エディター領域の横に新しいターミナルを作成コマンドを使用するか、ターミナル ビューからエディター領域にターミナルをドラッグすることで、エディター領域にターミナル(ターミナル エディター)を開くことができます。ターミナル エディターは、通常のエディター タブのように表示されます。

エディター グループ レイアウト システムを使用して、ターミナル エディターを左右どちら側にも配置したり、多次元に配置したりできます。たとえば、ファイル エディターの右側に PowerShell と WSL ターミナルを重ねて配置できます。

terminal.integrated.defaultLocation 設定により、デフォルトのターミナルの位置を view(ビュー)または editor(エディター)領域に変更できます。
新しいウィンドウのターミナル
新しい VS Code ウィンドウでターミナルを開くには、いくつかの異なる方法があります。
- ⌃⇧⌥` (Windows、Linux Ctrl+Shift+Alt+`) を使用します。
- 複数のターミナルがある場合はターミナル タブを右クリック、1つだけ開いている場合はタブを左クリックします。次に、ターミナルを新しいウィンドウに移動 を選択します。
- いくつかの異なるメニューで利用可能な 新しいターミナル ウィンドウ エントリを選択します。
バッファーのナビゲーション
ターミナル内のコンテンツはバッファーと呼ばれ、最下部のビューポートのすぐ上のセクションは「スクロールバック」と呼ばれます。保持されるスクロールバックの量は、 terminal.integrated.scrollback 設定によって決定され、デフォルトは 1000 行です。
ターミナル バッファー内を移動するために、さまざまなコマンドを使用できます。
- 1行上にスクロール - ⌥⌘PageUp (Windows Ctrl+Alt+PageUp、Linux Ctrl+Shift+Up)
- 1行下にスクロール - ⌥⌘PageDown (Windows Ctrl+Alt+PageDown、Linux Ctrl+Shift+Down)
- 1ページ上にスクロール - PageUp (Windows、Linux Shift+PageUp)
- 1ページ下にスクロール - PageDown (Windows、Linux Shift+PageDown)
- 最上部にスクロール - ⌘Home (Windows Ctrl+Home、Linux Shift+Home)
- 最下部にスクロール - ⌘End (Windows Ctrl+End、Linux Shift+End)
コマンドの移動も利用可能です(シェル統合を参照)。
- 前のコマンドにスクロール - ⌘↑ (Windows、Linux Ctrl+Up)
- 次のコマンドにスクロール - ⌘↓ (Windows、Linux Ctrl+Down)
スクロールは瞬時に行われますが、 terminal.integrated.smoothScrolling 設定を使用して、短い時間でアニメーション化するように設定できます。
リンク
ターミナルには、エディターとの統合や、拡張機能によって提供されるリンク ハンドラーを含む、高度なリンク検出機能が備わっています。リンクにホバーして下線を表示し、Ctrl/Cmd キーを押しながらクリックします。
これらの組み込みリンク ハンドラーは、次の優先順位で使用されます。
-
URI/URL:
https://vscode.dokyumento.jp、vscode://path/to/file、file://path/to/fileなどの URI に類似するリンクは、プロトコルの標準ハンドラーを使用して開かれます。たとえば、httpsリンクはブラウザーを開きます。
-
ファイル リンク: システム上に存在することが確認されているファイルへのリンク。これらはファイルを新しいエディター タブで開き、
file:1:2、file:line 1, column 2などの多くの一般的な行/列形式をサポートします。
-
フォルダー リンク: フォルダーへのリンクはファイル リンクと似ていますが、そのフォルダーで新しい VS Code ウィンドウを開きます。

-
ワード リンク: terminal.integrated.wordSeparators 設定を使用するフォールバック リンクタイプ。この設定は単語の境界を定義し、ほぼすべてのテキストを単語にします。ワード リンクをアクティブにすると、ワークスペースでその単語が検索されます。結果が 1 つだけの場合はそれが開かれ、そうでない場合は検索結果が表示されます。ワード リンクは「低信頼度」とみなされ、Ctrl/Cmd キーを押したままにしない限り、下線やツールチップは表示されません。また、行および列のサフィックスのサポートも制限されています。

検出されたリンクを開くコマンド (⇧⌘G (Windows、Linux Ctrl+Shift+G)) を使用して、キーボードからリンクにアクセスできます。

遅延の大きいリモート環境などのように、リンクの検証がパフォーマンスに悪影響を与える場合は、 terminal.integrated.enableFileLinks 設定で無効にしてください。
リンクを処理する拡張機能
拡張機能はリンク プロバイダーを提供でき、これによりクリックされたときのアクションを拡張機能が定義できるようになります。この例として、GitLens 拡張機能による Git ブランチ リンクの検出があります。

キーボード アクセシビリティ
リンクは、リンクの種類に基づいてリンクを開くいくつかのコマンドを使用して、キーボードからアクセスできます。
- ターミナル: 最後のローカル ファイル リンクを開く - 最も新しいローカル ファイル リンクを開きます。デフォルトのキーボード ショートカットはありません。
- ターミナル: 最後の URL リンクを開く - 最も新しい URI/URL リンクを開きます。デフォルトのキーボード ショートカットはありません。
- ターミナル: 検出されたリンクを開く... - ワード リンクを含む、検出されたすべてのリンクを含む検索可能なクイック ピックを開きます。デフォルトのキーボード ショートカットは Ctrl/Cmd+Shift+O で、これはエディターのシンボルに移動キーボード ショートカットと同じです。
コピー&ペースト
コピーとペーストのキーボード ショートカットはプラットフォームの標準に従います。
- Linux: Ctrl+Shift+C および Ctrl+Shift+V。選択範囲のペーストは Shift+Insert で利用可能です。
- macOS: Cmd+C および Cmd+V
- Windows: Ctrl+C および Ctrl+V
terminal.integrated.copyOnSelection が有効になっている場合、選択時に自動的にコピーが行われます。
デフォルトでは、複数行をペーストするときに警告が表示されますが、 terminal.integrated.enableMultiLinePasteWarning 設定で無効にすることができます。これは、シェルが「ブラケット付きペースト モード(bracketed paste mode)」をサポートしていない場合にのみ行われます。そのモードが有効な場合、シェルは複数行のペーストを処理できることを示しています。
マウスの使用
右クリックの動作
右クリックの動作はプラットフォームによって異なります。
- Linux: コンテキスト メニューを表示します。
- macOS: カーソル位置の単語を選択し、コンテキスト メニューを表示します。
- Windows: 選択範囲がある場合はコピーして選択を解除し、ない場合はペーストします。
これは、 terminal.integrated.rightClickBehavior 設定を使用して構成できます。オプションは次のとおりです。
default- コンテキスト メニューを表示します。copyPaste- 選択範囲がある場合はコピーし、それ以外の場合はペーストします。paste- 右クリックでペーストします。selectWord- カーソル位置の単語を選択し、コンテキスト メニューを表示します。nothing- 何もせず、イベントをターミナルに渡します。
列選択
Alt を押しながら左クリックでドラッグすると、通常の行選択ではなく、ターミナル内のテキストを矩形選択(列選択)できます。
Alt によるカーソルの再配置
Alt を押しながら左クリックすると、マウスの下の位置にカーソルが再配置されます。これは矢印キーの入力をシミュレートすることで機能するため、一部のシェルやプログラムでは信頼性高く動作しない場合があります。この機能は、 terminal.integrated.altClickMovesCursor 設定で無効にすることができます。
マウス イベント モード
Vim のマウス モードなど、ターミナルで実行されているアプリケーションがマウス イベント モードをオンにすると、マウス操作はターミナルではなくアプリケーションに送信されます。つまり、クリックしてドラッグしても選択範囲は作成されなくなります。Windows および Linux では Alt キーを、macOS では Option キーを押し続けることで強制的にターミナル選択を行うことができますが、macOS の場合はあらかじめ terminal.integrated.macOptionClickForcesSelection 設定を有効にしておく必要があります。
検索
統合ターミナルには、⌘F (Windows、Linux Ctrl+F) で呼び出せる検索機能があります。

Ctrl+F は、シェルをスキップするコマンドから workbench.action.terminal.focusFind コマンドを削除することで、シェルに送信できます。
選択したテキストの実行
runSelectedText コマンドを使用するには、エディターでテキストを選択し、コマンド パレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) からターミナル: アクティブなターミナルで選択したテキストを実行コマンドを実行します。ターミナルが選択されたテキストを実行しようとします。アクティブなエディターでテキストが選択されていない場合は、カーソルがある行全体がターミナルで実行されます。
また、workbench.action.terminal.runActiveFile コマンドを使用して、アクティブなファイルを実行することもできます。
ターミナルの最大化
ターミナル ビューは、上向きの山形(シブロン)アイコンが描かれたパネル サイズ最大化ボタンをクリックすることで最大化できます。これにより、一時的にエディターが非表示になり、パネルが最大化されます。これは、大量の出力を一時的に確認したい場合に便利です。一部の開発者は、新しいウィンドウを開き、パネルを最大化し、サイドバーを非表示にすることで、VS Code をスタンドアロンのターミナルとして使用しています。
なお、パネルを最大化できるのは、パネルの配置(alignment)オプションが Center に設定されている場合のみです。
すべて選択
ターミナル: すべて選択コマンドがあり、macOS では Cmd+A に割り当てられていますが、Windows や Linux ではシェルのホットキーと競合する可能性があるため、デフォルトのキーボード ショートカットはありません。Ctrl+A を使用してすべて選択するには、次のカスタム キーボード ショートカットを追加します。
{
"key": "ctrl+a",
"command": "workbench.action.terminal.selectAll",
"when": "terminalFocus && !isMac"
},
ファイル パスのドラッグ&ドロップ
ファイルをターミナルにドラッグすると、アクティブなシェルに適合するようにエスケープ処理されたパスがターミナルに入力されます。
タスクによるターミナルの自動化
タスク機能を使用すると、ターミナルの起動を自動化できます。たとえば、次の .vscode/tasks.json ファイルは、ウィンドウの起動時に単一のターミナル グループ内でコマンド プロンプトと PowerShell ターミナルを起動します。
{
"version": "2.0.0",
"presentation": {
"echo": false,
"reveal": "always",
"focus": false,
"panel": "dedicated",
"showReuseMessage": true
},
"tasks": [
{
"label": "Create terminals",
"dependsOn": [
"First",
"Second"
],
// Mark as the default build task so cmd/ctrl+shift+b will create them
"group": {
"kind": "build",
"isDefault": true
},
// Try start the task on folder open
"runOptions": {
"runOn": "folderOpen"
}
},
{
// The name that shows up in terminal tab
"label": "First",
// The task will launch a shell
"type": "shell",
"command": "",
// Set the shell type
"options": {
"shell": {
"executable": "cmd.exe",
"args": []
}
},
// Mark as a background task to avoid the spinner animation on the terminal tab
"isBackground": true,
"problemMatcher": [],
// Create the tasks in a terminal group
"presentation": {
"group": "my-group"
}
},
{
"label": "Second",
"type": "shell",
"command": "",
"options": {
"shell": {
"executable": "pwsh.exe",
"args": []
}
},
"isBackground": true,
"problemMatcher": [],
"presentation": {
"group": "my-group"
}
}
]
}
このファイルはリポジトリにコミットして他の開発者と共有することも、workbench.action.tasks.openUserTasks コマンドを介してユーザー タスクとして作成することもできます。
作業ディレクトリ
デフォルトでは、ターミナルはエクスプローラーで開かれているフォルダーで開きます。 terminal.integrated.cwd 設定を使用すると、代わりに開くカスタム パスを指定できます。
{
"terminal.integrated.cwd": "/home/user"
}
Windows の分割ターミナルは、親ターミナルが開始されたディレクトリで開始されます。macOS および Linux では、分割ターミナルは親ターミナルの現在の作業ディレクトリを継承します。この動作は、 terminal.integrated.splitCwd 設定を使用して変更できます。
{
"terminal.integrated.splitCwd": "workspaceRoot"
}
また、Terminal Here などのより多くのオプションを提供する拡張機能も利用できます。
固定サイズのターミナル
ターミナル: 固定寸法の設定コマンドを使用すると、ターミナルとそのバッキング擬似ターミナル(pseudoterminal)が使用する列数と行数を変更できます。これにより必要に応じてスクロールバーが追加されます。UX が低下する可能性があるため、一般的には推奨されませんが、特に Windows において、ページング ツールが利用できない状況でログや長い行を読むために、よく求められる要望です。
また、ターミナル タブを右クリックして サイズをコンテンツの幅に合わせる (⌥Z (Windows、Linux Alt+Z)) を選択すると、ターミナルの列数をターミナル内で最も長い折り返された行の幅にリサイズできます。
ターミナルでの GitHub Copilot
GitHub Copilot へのアクセス権がある場合は、AI を活用してターミナル コマンドやシェル スクリプトの支援を受けることができます。ターミナルで Copilot を使用するにはいくつかの方法があります。
ターミナル インライン チャット
ターミナルで直接インライン チャットを開始して、シェル コマンドの支援を受けます。
- ターミナルを開きます (⌃` (Windows、Linux Ctrl+`))
- ⌘I (Windows、Linux Ctrl+I) を押すか、コマンド パレットから ターミナル インライン チャット コマンドを実行します。
- 自然言語で質問やリクエストを入力します。例:
- 「このディレクトリで最も大きいファイルを見つけるにはどうすればよいですか?」
- 「最後の git コミットを元に戻す方法を教えて」
- 「ログ ファイルを分析する Bash スクリプトを作成して」

Copilot が回答を提供すると、実行 を選択してコマンドを直接実行するか、挿入 を選択してターミナルに追加し、さらに編集することができます。
ターミナルで GitHub Copilot を使用する方法の詳細は、ターミナル インライン チャットの使用を参照してください。
ターミナル チャット参加者
チャット ビューの質問(ask)モードで、専用の @terminal チャット参加者を使用します。
- チャットビューを開く(⌃⌘I (Windows, Linux Ctrl+Alt+I))
- 質問を
@terminalで開始して、ターミナル参加者に向けます。 - ターミナル コマンド、シェル スクリプト、またはターミナルの出力の解説について尋ねます。
例
@terminal このワークスペース内の上位 5 つの大きなファイルをリストアップして@terminal /explain top シェル コマンド@terminal パターンを再帰的に grep する方法
チャットでターミナルの文脈を参照する
チャット プロンプトの文脈(コンテキスト)として、ターミナルの情報を含めることができます。
#terminalSelectionを使用して、ターミナルから選択したテキストをチャット プロンプトに追加します。#terminalLastCommandを使用して、ターミナルで最後に実行したコマンドを含めます。
次のステップ
このドキュメントでは、ターミナルの基本について説明しました。詳細については、以下を参照してください。
- ターミナル インライン チャット - ターミナル内で直接、AI を活用した提案を受け取ることができます。
- タスク - タスクを使用すると、外部ツールと統合し、ターミナルを最大限に活用できます。
- Mastering VS Code's Terminal - ターミナルのパワー ユーザー向けのヒントが多数掲載されている外部ブログです。
- VS Code 内のキーボード ショートカット(環境設定: キーボード ショートカットを開くで「terminal」を検索)を参照して、ターミナル コマンドを探索してください。
よくある質問
ターミナルの起動で問題が発生しています
このような問題については、専用のトラブルシューティング ガイドがあります。
管理者ターミナルを作成するにはどうすればよいですか?
統合ターミナルのシェルは、VS Code の権限で実行されます。昇格された(管理者)権限や異なる権限でシェル コマンドを実行する必要がある場合は、ターミナル内で runas.exe などのプラットフォーム ユーティリティを使用してください。
ターミナル プロファイルを介したターミナルのカスタマイズに関する詳細は、プロファイルの構成を参照してください。
エクスプローラーの「統合ターミナルで開く」コマンドにキーボード ショートカットを追加できますか?
エクスプローラーからコンテキスト メニューの 統合ターミナルで開く コマンドを使用して、特定のフォルダーに対して新しいターミナルを開くことができます。

デフォルトでは、統合ターミナルで開く に関連付けられたキーボード ショートカットはありませんが、キーボード ショートカット エディター (⌘K ⌘S (Windows、Linux Ctrl+K Ctrl+S)) を使用して、自身の keybindings.json にキーボード ショートカットを追加できます。
以下の keybindings.json の例は、openInTerminal に対してキーボード ショートカット Ctrl+T を追加します。
{
"key": "ctrl+t",
"command": "openInTerminal",
"when": "filesExplorerFocus"
}
統合ターミナルの起動時に、nvm が prefix オプションについて警告するのはなぜですか?
nvm (Node Version Manager) のユーザーは、VS Code の統合ターミナル内でこのエラーを初めて目にすることがよくあります。
nvm is not compatible with the npm config "prefix" option: currently set to "/usr/local"
Run `npm config delete prefix` or `nvm use --delete-prefix v8.9.1 --silent` to unset it
これは主に macOS の問題であり、外部ターミナルでは発生しません。一般的な原因は以下の通りです。
npmが、パス内のどこか(/usr/local/bin/npmなど)にある別のnodeインスタンスを使用してグローバルにインストールされている。- 起動時に
$PATH上の開発ツールを取得するため、VS Code は bash ログイン シェルを起動します。これは、~/.bash_profileがすでに実行されていることを意味し、統合ターミナルが起動すると別のログイン シェルが実行され、$PATHが予期しない方法で並べ替えられる可能性があります。
この問題を解決するには、古い npm がインストールされている場所を突き止め、それと古い node_modules の両方を削除する必要があります。nvm 初期化スクリプトを見つけ、それが実行される前に which npm を実行すると、新しいターミナルを起動したときにそのパスが出力されるはずです。
npm へのパスがわかったら、以下のようなコマンドを実行してシンボリックリンクを解決し、古い node_modules を見つけます。
ls -la /usr/local/bin | grep "np[mx]"
これにより、最終的に解決されたパスが取得できます。
... npm -> ../lib/node_modules/npm/bin/npm-cli.js
... npx -> ../lib/node_modules/npm/bin/npx-cli.js
そこから、ファイルを削除して VS Code を再起動すれば、問題が解決するはずです。
rm /usr/local/bin/npm /usr/local/lib/node_modules/npm/bin/npm-cli.js
rm /usr/local/bin/npx /usr/local/lib/node_modules/npm/bin/npx-cli.js
ターミナルの分割ペインをリサイズすると、macOS で「ポン」という音が鳴るのはなぜですか?
キーボード ショートカット ⌃⌘← および ⌃⌘→ は、ターミナル内の個々の分割ペインをリサイズするためのデフォルトです。これらは機能しますが、Chromium の問題により、システムの「無効なキー」の音が再生されてしまいます。推奨される回避策は、ターミナルで以下を実行して、これらのキーボード ショートカットに対して macOS に何もしないように指示することです。
mkdir -p ~/Library/KeyBindings
cat > ~/Library/KeyBindings/DefaultKeyBinding.dict <<EOF
{
"@^\UF700" = "noop:";
"@^\UF701" = "noop:";
"@^\UF702" = "noop:";
"@^\UF703" = "noop:";
"@~^\UF700" = "noop:";
"@~^\UF701" = "noop:";
"@~^\UF702" = "noop:";
"@~^\UF703" = "noop:";
}
EOF
ターミナルのレンダリングに問題があります。どうすればよいですか?
デフォルトでは、統合ターミナルはほとんどのマシンで GPU アクセラレーションを使用してレンダリングします。通常、レンダリングに問題がある場合は、ハードウェア、OS、またはドライバーの何かが GPU レンダラーと適切に連携していないことが原因です。最初に試すことは、GPU アクセラレーションを無効にすることです。レンダリング速度と引き換えに、より信頼性の高い DOM ベースのレンダリングを使用します。
{
"terminal.integrated.gpuAcceleration": "off"
}
詳細については、GPU アクセラレーションのセクションを参照してください。
何かをペーストすると 1~ や [201~ が表示されます
これは通常、ターミナル内で実行されているプログラム/シェルが「ブラケット付きペースト モード(bracketed paste mode)」のオンを要求したものの、何かがそれを適切にサポートしていないことを意味します。これを回避するには、printf "\e[?2004l" を実行してそのセッションで無効にするか、~/.inputrc ファイルに以下を追加します。
set enable-bracketed-paste off
または、この設定でオフにすることで、ブラケット付きペースト モードにシェルの要求を強制的に無視させることもできます。
{
"terminal.integrated.ignoreBracketedPasteMode": true
}
zsh で Ctrl+A、Ctrl+R を入力すると ^A、^R が出力される
これは、初期化スクリプトで $EDITOR または $VISUAL を vi/vim に設定しているために、zsh が Emacs モードではなく Vim モードになっている場合に発生することがあります。
これを回避するには、2 つのオプションがあります。
$EDITORをvi(m)に設定しないようにします。ただし、Git エディターを機能させたい場合は、この選択肢は使えません。- 初期化スクリプトに
bindkey -eを追加して、明示的に Emacs モードに設定します。
macOS の標準ターミナルのように、Cmd+. を Ctrl+C にマッピングするにはどうすればよいですか?
macOS のデフォルト ターミナルは、Cmd+. を使用して Ctrl+C と同じ処理を行います。VS Code でこの動作を実現するには、このカスタム キーボード ショートカットを追加します。
{
"key": "cmd+.",
"command": "workbench.action.terminal.sendSequence",
"when": "terminalFocus",
"args": { "text": "\u0003" }
}
ターミナルの色が正しくないのはなぜですか?
デフォルトで有効になっているアクセシビリティ機能の 1 つは、前景色テキストの最小コントラスト比を 4.5 以上に確保することです。この機能により、使用するシェルやテーマに関係なくテキストが読みやすくなります(この機能がないと不可能です)。この機能を無効にするには、以下を設定します。
"terminal.integrated.minimumContrastRatio": 1
詳細については、最小コントラスト比のセクションを参照してください。