実現したいこと
VSCodeのVimのインサートモードで、テキスト選択時だけCtrl+Cでコピーできるようにし、
テキスト選択時でない場合は、本来の挙動のノーマルモードへの移行ができるようにしたいです。
どのように設定すればよいでしょうか。
発生している問題・分からないこと
テキスト選択時でない場合も、コピーがされてしまいます。
該当のソースコード
settings.json
1 "vim.insertModeKeyBindingsNonRecursive": [ 2 { 3 "before": ["<C-a>"], 4 "after": [], 5 "commands": [{"command": "editor.action.selectAll"}] 6 }, 7 { 8 "before": ["<C-c>"], 9 "after": [], 10 "commands": [{"command": "editor.action.clipboardCopyAction"}], 11 "when":"editorHasSelection", 12 }, 13]
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
whenで「テキスト選択時だけ」という条件を設定したつもりですが、
テキスト選択時でない場合もコピーがされてしまい、ノーマルモードに移らないです。
テキスト選択時でない場合は、カーソル行がコピーされてしまいます。
インサートモードでカーソルを動かすと、カーソル行だけ色が変わるので、
もしかして、インサートモードでは普段からカーソル行が選択されている状態になってしまっているのでしょうか?
なお、上記の<C-c>の記述を削除すると、本来の挙動のノーマルモードに移行する動作となります。
可能であれば、keybindings.jsonの設定ではなく、settings.jsonのVimに関する設定で、目的の設定方法を教えていただきたいです。
補足
特になし

回答1件
あなたの回答
tips
プレビュー