🎃
VSCode Neovim Extension の jj が変わったっぽい
GW に VSCode を開いたら jj が使えなくなっていた😢
対応を調べたので書く。
TL;DR
-
settings.json
に以下を書く
settings.json
{
"vscode-neovim.compositeKeys": {
"jj": {
"command": "vscode-neovim.escape"
}
}
}
いつ変わった?
2024/4/30 に VSCode Neovim Extension の v1.11.0 がリリースされ、そこで破壊的変更がされたっぽい。
これまでの jj
これまでは keybindings.json
に以下のように書くことで jj による Escape を実現していた。
keybindings.json
{
"command": "vscode-neovim.compositeEscape1",
"key": "j",
"when": "neovim.mode == insert && editorTextFocus",
"args": "j"
}
何が変わった?
以下の PR が対応する。
実装を知らないのでよくわからないが、 Composite key の入力が良くなったらしい。
そして、これまでの Escape コマンドが削除されたようだ。
Removed commands: vscode-neovim.compositeEscape1 vscode-neovim.compositeEscape2
どうする?
これまでは keybindings.json
に設定を書いていたが、これからは settings.json
に以下のように書けば良いみたい
settings.json
{
"vscode-neovim.compositeKeys": {
"jj": {
"command": "vscode-neovim.escape"
}
}
}
Escape & Save の jk も例として書かれていた。
settings.json
{
"vscode-neovim.compositeKeys": {
"jk": {
"command": "vscode-neovim.lua",
"args": ["vim.api.nvim_input('<ESC>')\nrequire('vscode-neovim').action('workbench.action.files.save')"]
}
}
}
Discussion