Visual Studio 2019をVimに変える拡張機能VsVimの設定方法

Visual Studio 2019をVimに変える拡張機能VsVimの設定方法

Visual Studio 2019 をVimの操作に置き換えるには拡張機能VsVimをインストールします。
VsVimユーザーはあまり多くなく、情報が少ないためインストールから設定まで説明します。

VsVimとは

VsVimとは、有志によるVisual Studio用のVimエミュレータです。
以下のVisual Studio向けにリリースされており、長い期間に渡って開発されている拡張機能です。
ただし、古いものはサポートされていないため、不具合等が残っている場合があります。

  • Visual Studio 2010
  • Visual Studio 2012
  • Visual Studio 2013
  • Visual Studio 2015
  • Visual Studio 2017
  • Visual Studio 2019

インストール

Visual Studioのツールバー「拡張機能 > 拡張機能の管理」からインストールします。

設定 キーボートショートカット

.vimrcで行うショートカットの変更の前に、Visual Studioと重複しているショートカットキーについて、VsVimかVisutl Studioのどちらを使用するか設定します。
ツールバー「ツール > オプション > VsVim > Keyboard」から設定していきます。

各ショートカットキーごとに設定可能なので、Visual Studioのショートカットキーを残したい場合は好みに応じてVisual Studioを選択します。

私は問答無用ですべてVsVimに一括設定です。

Include All Scopesは、ショートカットの有効範囲でチェックを付けないとショートカットの設定はテキストエディタに限定されるようです。
テキストエディタ内でショートカットが上手く動かないことがしばしばあり、チェックを付けて再設定することで正常に動くことがありました。

また、VsVimとVisual Studioの設定は互いに競合しあって画面に表示された通りではない事があり、再設定することで直るケースを確認しています。

.vimrc (.vsvimrc)

VsVimはユーザーディレクトリのルートに保存されている設定ファイルを読み込みます。
ユーザーディレクトリはファイル名を指定して実行(Windows + R)から「%HOMEPATH%」と入力して表示されるディレクトリです。

設定ファイルのファイル名は.vimrc, _vimrc, .vsvimrc, _vsvimrcなど、様々なパターンに対応しています。
読み込むパターンは「ツール > オプション > VsVim > Defaults > General > VimRc File Loading」の以下の選択肢からセットされた条件に従って読み込まれます。

  • No vsvimrc or vimrc files
  • vsvimrc files only
  • vimrc files only
  • vsvimrc or vimrc files

Visual Studio上で動作するVimの設定のため、.vsvimrcを作成して通常のVimのファイルと重複しない名前にしておくことをお勧めします。

.vsvimrcが読み込まれているか確認する

Vimのexコマンドから「:set」と入力すると、読み込まれている設定値や設定ファイル、読み込み対象ディレクトリ等の情報が表示されます。
設定ファイルが上手く読み込まれない場合、ここから確認しましょう。
(非常に重要なコマンドですが公式では触れられていません…

.vsvimrcの設定方法

通常のvimrcと基本的には同じです。
異なるのは、Visutl Studioのコマンドは:vsc [コマンド名]<CR>と入力します。
[コマンド名]はキーボード設定に表示されている名称を入力します。
これは日本語で構いません。
末尾のはキャリッジリターンでエンターキーの押下を表します。

を付けずに実行すると分かりますが、EXコマンドが立ち上がってコマンドを入力し、エンターを入力しているだけです。

 

set number
set hlsearch
set ignorecase
set smartcase

"leaderキーを変更
let mapleader = "<Space>"

#Insert Mode
inoremap jk <ESC>

"Normal Mode

"clear hightlight
nnoremap <Leader>/ :noh<CR>
nnoremap <Leader>w :vsc ファイル.選択されたファイルを上書き保存<CR>
nnoremap <Leader>e :vsc 表示.ソリューションエクスプローラー<CR>
nnoremap <Leader>p :vsc 編集.ファイルに移動<CR>
nnoremap <Leader>t :vsc 編集.シンボルに移動<CR>
nnoremap <Leader>o :vsc 編集.メンバーに移動<CR>
nnoremap gf :vsc 編集.すべての参照を検索<CR>
nnoremap gD :vsc 編集.宣言へ移動<CR>
nnoremap <C-w><C-o> :vsc ファイル.このウィンドウ以外すべて閉じる<CR>
"次のタブへ
nnoremap <C-l> gt
"前のタブへ
nnoremap <C-h> gT
"5行上へ
nnoremap K 5k
"5行下へ
nnoremap J 5j
"末尾の改行を削除後に結合
nnoremap <Leader>j J

#Visual Mode

vnoremap K 5k
vnoremap J 5j

 

プログラミングカテゴリの最新記事