6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VScode のターミナルで、キーボードショートカットをストレスなく使う

Posted at

はじめに

VScode の Remote SSH 便利ですよね!

とても便利なのですが、VScode で接続した先のターミナルで bash のキーボードショートカット (Ctrl+p とか) を使おうとすると、VScode のデフォルトで指定されているものと衝突しそちらが優先されてしまうので使えません。

ショートカットを手癖のように利用しているので、これが使えないと結構なストレスです。というわけで、対策してみました。

そもそもターミナルのショートカットについては、こちらの記事が参考になります。

やりかた

keybindings.json にショートカットキーを登録

Ctrl+Shift+p で key と打つと「基本設定: キーボードショートカットを開く (JSON)」というものが出てくるので開きます
kybindings.png

keybindings.json というファイルが開かれるので、この中にショートカットを記載していきます

// 
{
  "key": "ctrl+f",
  "command": "cursorUp",
}
  • key にショートカット、command に実行コマンドを指定します
  • 細かい指定方法や実行コマンドについては、ドキュメントに詳しく書かれています

ポイント

単純にキーバインドを設定すると、デフォルトのショートカットが上書かれてしまいます。

デフォルトのショートカットも便利なので使いたいのですが、わざわざキーバインドを退避するのも面倒なので、ターミナルで使いたいショートカットには「ターミナルにフォーカスしているときだけ」という条件を指定することでこれを回避します。

指定の方法は簡単で、"when": "terminalForcus" というメンバーを追加するだけです。GUI の設定画面からでは「いつ」という条件が選択できないので、keybindings.json に追加する必要があります。

サンプル

こんな感じで設定してみました。参考までにどうぞ。

keybindings.json
[
    {
        "key": "ctrl+p",
        "command": "cursorUp",
        "when": "terminalFocus"
    },
    {
        "key": "ctrl+n",
        "command": "cursorDown",
        "when": "terminalFocus"
    },
    {
        "key": "ctrl+f",
        "command": "cursorRight",
        "when": "terminalFocus"
    },
    {
        "key": "ctrl+b",
        "command": "cursorLeft",
        "when": "terminalFocus"
    },
    {
        "key": "ctrl+a",
        "command": "cursorHome",
        "when": "terminalFocus"
    },
    {
        "key": "ctrl+e",
        "command": "cursorEnd",
        "when": "terminalFocus"
    },
    {
        "key": "ctrl+d",
        "command": "deleteRight",
        "when": "terminalFocus"
    },
    {
        "key": "ctrl+h",
        "command": "deleteLeft",
        "when": "terminalFocus"
    }
]

おわりに

ターミナルをフォーカスしているときだけショートカットが上書きされるため、それ以外の場合は今まで通りに VScode のショートカットが使えます。
今のところストレスフリーで作業できています。

こうするともっと便利だよ!などあれば教えて下さい。

6
7
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
6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?