web-dev-qa-db-ja.com

Visual Studio Code vim拡張機能でvim(キーバインド)を使用する方法

Visual Studio Codeを使い始めたばかりで、本当に素晴らしいと思います。また、vim拡張機能をインストールしましたが、マッピングに苦労しています esc 別のキーに。

通常、私はこれを持っています:

:imap jj <Esc>

そして、VS Codeにはkeybindings.jsonファイルがあることがわかります。私はこれを試しました:

[{
    "key": "jj",
    "command": "vim.Esc",
    "when": "editorTextFocus"
}]

また、settings.jsonファイルがあるので、試しました:

{
  "vim.keyboardLayout": "en-US (QWERTY)",
    "vim.insertModeKeyBindings": {
        "j": "vim.Esc"
    }
}

また、動作しませんでした。だから、誰かがjjEscまたはEscにマップできるVSコードでvim拡張を使用する方法を知っていますか?

25
ganjan

Settings.jsonに以下を追加します(コマンドパレットを開き、「ユーザー設定」を検索します)。

"vim.insertModeKeyBindings": [
     {
         "before": ["j", "j"],
         "after": ["<esc>"]
     }
]

それはそれを行う必要があります。

42
thedayturns

この問題 から、次のようなものを使用できることを学びました

{ "key": "j j", "command": "extension.vim_esc", "when": "editorTextFocus" },

ただし、移動にjを使用できないという問題があります。

PS。これは完全な答えではなく、進むべきものであることを知っています。

3
sudo bangbang

Linuxで実行していて、setxkbmapを使用してEscCaps-Lockに再マッピングし、問題がある場合は、次の回避策をお勧めします Esc再マッピングの修正

解決策は、以下をUser Settingsに追加することです

「keyboard.dispatch」:「keyCode」

その後保存して再起動する必要があります enter image description here

1
fuadj