Skip to content

Instantly share code, notes, and snippets.

@kashewnuts
Last active September 11, 2024 16:21
Show Gist options
  • Save kashewnuts/8219d5a38577565e1e517b20344d3020 to your computer and use it in GitHub Desktop.
Save kashewnuts/8219d5a38577565e1e517b20344d3020 to your computer and use it in GitHub Desktop.
VSCodeでVimを快適に使うためのメモ

VSCodeでVimを快適に使うためのメモ

目的

  • VSCodeでもVimキーバインドを使いたい
  • (tmuxを使ってプロジェクトを横断したい)

基本

VSCodeでVimを使うために以下のプラグインをインストールする

設定

2つの設定ファイル考慮が必要

  • settings.json: 基本的な設定
  • keybindings.json: settings.pyで設定しきれなかったキーバインドをVSCodeの機能と紐付ける

settings.json

{
  // Vim
  "vim.autoindent": true,
  "vim.camelCaseMotion.enable": true,
  "vim.easymotionDimBackground": false,
  "vim.history": 200,
  "vim.hlsearch": true,
  "vim.incsearch": true,
  "vim.leader": "\\<Space>",
  "vim.showMarksInGutter": true,
  "vim.timeout": 50,
  "vim.useSystemClipboard": true,
  "vim.vimrc.enable": true,
  "vim.vimrc.path": "$HOME/.vim/vimrc",
  // REF: https://android.gcreate.jp/vim-undo-redo/
  "vim.normalModeKeyBindingsNonRecursive": [
    {
      "before": ["u"],
      "commands": ["undo"]
    },
    {
      "before": ["<C-r>"],
      "commands": ["redo"]
    }
  ],
  // To improve vscodevim performance,
  "extensions.experimental.affinity": {
    "vscodevim.vim": 1
  }
}

keybindings.json

settings.pyで設定しきれなかったキーバインドをVSCodeの機能と紐付ける

VSCodeVimで読み込むvimrc

VSCode NeoVimは使わない?

  • 使わない。NeoVim自体の準備も必要になり依存が増えるため。

参考

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment