開発したアプリなど一覧

VSCode 内蔵ターミナルで ctrl-p などのショートカットキーを利用する方法

VSCode には標準でターミナル機能が搭載されており、WSL や PowerShell などを VSCode のエディタ内で利用することができる。しかし、Bash や Zsh などで利用できるキーバインドが VSCode のショートカットキーと競合して思うように操作できない場合がある。

特に履歴を参照する ctrl-p のような良く利用するキーバインドが利用できないのは Linux に慣れている人にとってはストレスだろう。

Linux Shell のショートカットキーをまとめてみた | Lonely Mobiler

自分が試したところ、ctrl-f, ctrl-e, ctrl-p のキーバインドが VSCode のものと競合してシェルで利用できなかった。なのでそれらのキーバインドをターミナルで利用できるように再定義する必要がある。

VSCode の keybindgs.json を開き、以下の設定を追加しよう。

{
    "key": "ctrl+f",
    "command": "cursorRight",
    "when": "terminalFocus"
},
// vscodevim を利用している場合には不要
//{
//    "key": "ctrl+e",
//    "command": "workbench.action.quickOpen",
//    "when": "!terminalFocus"
//},
{
    "key": "ctrl+e",
    "command": "-workbench.action.quickOpen"
},
{
    "key": "ctrl+p",
    "command": "workbench.action.quickOpen",
    "when": "!terminalFocus"
},
{
    "key": "ctrl+p",
    "command": "-workbench.action.quickOpen"
},

ctrl+f はカーソルを右へ動かすコマンドを、ctrl+p はクイックオープンの挙動を「ターミナル以外の時」と再定義してある。ctrl+e に関しては vscodevim を利用していないならコメントアウトを外すと良さそう。

こうすることで VSCode の内蔵ターミナルでも ctrl+f でカーソル移動、ctrl+p で履歴の参照が可能となる。ターミナルを頻繁に利用するなら是非設定しておこう。

VSCodeの統合ターミナルにおいてシェルのキーバインドを設定する - Qiita

Sponsored Link

コメント

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