VSCodeのVimのuコマンドでUndoしてもファイルが編集扱いになる事象の対策

当サイトにはアフィリエイトリンクが含まれている場合があります
目次

はじめに

VSCodeのVim拡張機能を使用すると、uコマンドでVimのUndo機能が使用できます。

しかし、このUndo機能でもとに戻しても、VSCode上ではファイルが編集扱いになってしまい、地味なストレスでした。

こんな感じです。

動作環境

・Kubuntu 22.04

・VSCode 1.90.0

対策

設定を変更し、Vim拡張のUndo,RedoをVSCodeのUndo,Redoに変更することで解決できます。

Setting.jsonで下記設定を追加します。

"vim.normalModeKeyBindingsNonRecursive": [
  {
    "before" : ["u"],
    "commands" : ["undo"]
  },
  {
    "before" : ["<C-r>"],
    "commands" : ["redo"]
  },
],

この設定を行うと、uコマンドのUndo機能がVim拡張機能のUndo機能ではなく、VSCodeのUndo機能に変更されます。ですので、VSCodeの「Ctrl+z」と同じになるため、Undoでファイルを元に戻した際に編集扱いにならなくなります。

(設定後)

上記で自分が解決したいことは完了したのですが、RedoについてもVSCodeのRedoにする設定を行っています。

参考

おわりに

上記の事象は地味なストレスだったのですが、最初は「こういう仕様かも」と思っており、そのままにしていました。ちゃんと調べるものですね。こういう些細なストレスは積み重なると大きくなってしまうので、今回対策できて良かったです。

スッキリしました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次