地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

【Vim】VimとVS Codeを併用する際のTips

この記事はVim Advent Calendar 2024の17日目の記事です。


VimVS Codeを併用する際のTipsです。

vscodevimを入れる

marketplace.visualstudio.com

VSCodeVimは、Visual Studio Code(以下、VS Code)でVimの操作性を再現するための拡張機能です。Vimは、効率的なキーボード操作と独自のモード切り替え機能を備えたテキストエディタとして、多くのプログラマーに支持されています。一方で、VS Codeはモダンな機能や拡張性、開発体験の豊富さから、近年広く利用されるようになりました。VSCodeVimは、これら二つの強みを組み合わせることで、Vimユーザーが慣れ親しんだ操作感を維持しつつ、VS Codeの利便性を最大限に活用できる環境を提供します。

VSCodeVimの最大の特徴は、Vimの「モード操作」を忠実に再現する点にあります。ノーマルモード、インサートモード、ビジュアルモードといったVim特有のモードがVS Code内で使用可能になり、ddで行削除、yyで行コピー、pでペーストといった基本操作はもちろん、ciwのような複雑なコマンドもサポートされています。このため、Vimに慣れ親しんだユーザーは、操作感を損なうことなくVS Codeに移行できます。

coding-factory.com

vimrcを読み込むようにする

{
  "vim.vimrc.enable": true,
  "vim.vimrc.path": "/path/to/.vimrc"
}

vscodevimの設定を変える

vimrcを読むでも良いですが私は以下のよのうな設定をsettings.jsonに書いています。hlsearchやincsearchは割と必須かなと思っています。

  "vim.hlsearch": true,
  "vim.ignorecase": true,
  "vim.incsearch": true,
  "vim.whichwrap": "h,l,<,>,[,]",
  "vim.normalModeKeyBindingsNonRecursive": [
    {
      "before": [
        "J"
      ],
      "after": [
        "1",
        "0",
        "j"
      ]
    },
    {
      "before": [
        "K"
      ],
      "after": [
        "1",
        "0",
        "k"
      ]
    },
    {
      "before": [
        "H"
      ],
      "after": [
        "0"
      ]
    },
    {
      "before": [
        "L"
      ],
      "after": [
        "$"
      ]
    },
    {
      "before": [
        "<C-[>"
      ],
      "after": [
        "g",
        "t"
      ]
    },
    {
      "before": [
        "<C-]>"
      ],
      "after": [
        "g",
        "T"
      ]
    },
  ],

zenn.dev

まとめ

VSCode便利です。ただコードを1行直すとかTypo直すとかだとvimの方が早くて良いのでvimのメンテナンスもやっています。どっちをどれくらい使っているのか時間取れるなら取りたいですw