vimrcの場所について(Windows版)

Windowsのホームの場所は C:\Users\"ユーザー名"\ となっている。 ここに設定ファイルを置くことになるのだけど、 dotファイルや設定ファイルが散らかって非常に気分が良くない。

さらにはgitを使っていると、一つフォルダを作成していて、そこにあるファイルからリンクファイルを作る必要があり、ひと手間かかってる。

かといって、一つのフォルダの中にrcファイルもプラグインとかを保存するvimfilesも保存すると、今度はgitignoreが大変なことになる。

そういう訳で、整理整頓できる。そして環境も復活しやすい方法を探してみた。

  1. vimの起動時にvimrcファイルを指定 gitで管理しているフォルダは"win-config"なので、起動時に gvim -u c:\Users\○○○\win-config_vimrc として起動した。

    • メリット ショートカットにオプションをつけるだけ
    • デメリット ホームディレクトリにないvimrcを使用している すなわち「set nocompatible」オプションが必要!!! _gvimrcを読み込んでくれない

    デメリットが多すぎたので、この方法は諦めた。

  2. vim起動用のバッチファイルを作成。 「win-config」内にgvim起動用のバッチファイルを作成。 このバッチファイルもgitで管理

    • メリット HOMEディレクトリを変更することで、リンクファイルの作成不要に vimfilesはHOMEに設定したディレクトリの1つ上に作成するので整理も楽
    • デメリット スタートメニューに登録できてない
@echo off
REM バッチファイルのある場所をHOMEに設定
set HOME=%CD% 
REM バッチファイルのある場所から一つ上に移動
pushd %~dp0..
REM 本来のHOMEをMY_HOMEという環境変数に登録
set MY_HOME=%CD%
REM Scoopでインストールしたgvimを起動
start C:\Users\「ユーザー名」\scoop\apps\vim-kaoriya\current\gvim.exe
REM コマンドプロンプト画面を閉じる
exit

環境変数vim内で反映されるので、その内容をもとにvimrc内でvimfilesやruntimepathを設定

"" runtime path
let $MY_VIMRUNTIME = $MY_HOME . '/vimfiles'
let $VIMPLUG = $MY_VIMRUNTIME . '/plugged'

"" ^=を使うことで、検索ディレクトリを前に追加
set runtimepath^=$MY_VIMRUNTIME
set runtimepath^=$VIMPLUG

これで整理しやすい環境ができた