Skip to content

原文(日本語に翻訳)

デフォルトのコードバインディング(例: "ctrl+x ctrl+k": null)をnullで解除しても、コードウェイトモードに入ってプレフィックスキーが解放されない問題を修正しました。

原文(英語)

Fixed null-unbinding a default chord binding (e.g. "ctrl+x ctrl+k": null) still entering chord-wait mode instead of freeing the prefix key.

概要

コードバインディング(2つのキーシーケンスで構成されるショートカット)を null で無効化した場合、そのプレフィックスキー(例: Ctrl+X)を押すとコードウェイトモードに入ってしまい、次のキー入力を待ち続けるバグが修正されました。null で解除した場合はコードウェイトモードに入らず、プレフィックスキーが通常通りの動作に戻るようになります。

基本的な使い方

コードバインディングを無効化する場合:

json
// keybindings.json
{
  "ctrl+x ctrl+k": null
}

修正後は、この設定で Ctrl+X Ctrl+K のバインディングが完全に解除され、Ctrl+X もコードウェイトモードに入らなくなります。

実践例

ユースケース: デフォルトバインディングの解除

デフォルトのコードバインディングが使用しているキーシーケンスを他の用途に使いたい場合:

json
// keybindings.json
{
  // デフォルトのコードバインディングを解除
  "ctrl+x ctrl+k": null,
  
  // Ctrl+X を別の用途で使いたい場合も、
  // 修正後はCtrl+Xが通常通り動作するように解放される
}
修正前の問題:
Ctrl+X を押す → コードウェイトモードに入る(次のキー入力を待つ)
→ Escape を押さないとコードウェイトモードから抜けられない

修正後の動作:
"ctrl+x ctrl+k": null で解除後は
Ctrl+X を押す → 通常の動作(コードウェイトモードに入らない)

ユースケース: カスタムキーバインディングの設定

json
// keybindings.json
{
  // まず既存のコードバインディングを解除
  "ctrl+x ctrl+k": null,
  "ctrl+x ctrl+c": null,
  
  // 新しいバインディングを設定
  "ctrl+k": "action.clearHistory",
  "ctrl+x": "action.submitMessage"
}

注意点

  • コードバインディングは2つ以上のキーシーケンスを組み合わせたショートカットです(例: Ctrl+X に続けて Ctrl+K
  • プレフィックスキー(最初のキー)に他のコードバインディングがまだ残っている場合は、引き続きコードウェイトモードに入ります
  • null で解除した場合の動作は、最初からバインディングが存在しない場合と同等になります

関連情報