Vimのキーバインドについて

バグ報告

keymap.jsonを編集してVimのキーバインドを追加してます。
インサートモード時に”j j”でノーマルモードに戻るようしてましたが、jが入力できないです。
Jは入力が可能です。

下記がエラーになってます。

return keydownEvent.path[0].dispatchEvent(textInputEvent)

simulateTextInput(keydownEvent) {
      let character
      if ((character = characterForKeyboardEvent(keydownEvent))) {
        const textInputEvent = document.createEvent('TextEvent')
        textInputEvent.initTextEvent('textInput', true, true, window, character)
        return keydownEvent.path[0].dispatchEvent(textInputEvent)
      }
    }

利用環境

  • Platform: macOS
  • Platform version: Sonoma 14.1.1
  • App Version:5.6.0

再現方法

keymap.jsonに下記を追加

{
  ".CodeMirror.vim-mode.insert-mode textarea": {
    "escape": "vim:exit-insert-mode",
    "j j": "vim:exit-insert-mode"
  },
  "global": {
    "cmd-shift-x": "application:toggle-main-window"
  }
}

Kentaroさん

ご報告ありがとうございます。
multi-stroke keybindingsの cancel はv5.6.0で下記報告で不具合が確認されています:

このバグは v5.6.2-beta.0 で修正済みです:

現在オフィシャルリリース準備中です。

こちらは duplicate としてクローズします。もし依然問題がある場合は教えてください。

1 Like

v5.6.2 リリースしました!