はじめに
本ドキュメントは、WindowsのMSYS2 64bitでvimを使おうとしたときの設定を書いていきます。
当方の環境
OS: Windows10 64bit
Terminal: bash(MingW64 + MSYS2 64bit)
Package manager: pacman
Editor: VSCode + vim
vimの知識: 浅はか
最初に結論(せっかちな人向け)
$HOME/.vimrcの先頭に以下の行を追加します。
source $VIMRUNTIME/defaults.vim
事の経緯
MSYS2のBASHをVSCodeのターミナルで実行しているのですが、ちょっとしたテキストファイルを修正するときはVSCodeでは、いささか重たく感じていました。
そこで、小さいファイルを編集するときにはvim
を使おうと思い立ちました。
pacman -S vim
リソースファイルの編集で詰まった
bash
のホームディレクトリに.vimrc
を作っておいていざ実行してみると、.vimrc
が無かったときに表示されていた色分けなどがごっそり消えていたわけで。
ちょっとドキュメントを読んでみると、ホーム上のリソースファイルを読み込んでしまうと他のファイルの取り込みを取りやめてしまうと。
bash
でいうsource
で既存のリソースファイルを取り込む必要があると。なるほど。
参考:vimrc, runtime の優先順位を理解して Windows と Linux で Vim の設定を共有する
さて、肝心の詰まったところですが…
その既存リソースファイルがどこにあるのかわからない
ということでした。そこから、ファイル探しの旅に出ます。
読み込むべきリソースファイルの位置を探し当てる
ファイルの場所をわかるには、このコマンドが役に立ちます。
vim --version
すると、標準で読み込むリソースファイルの一覧が出てきます。
(余計な情報は省略しています)
$ vim --version
(略)
システム vimrc: "/etc/vimrc"
ユーザー vimrc: "$HOME/.vimrc"
第2ユーザー vimrc: "~/.vim/vimrc"
ユーザー exrc: "$HOME/.exrc"
デフォルトファイル: "$VIMRUNTIME/defaults.vim"
省略時の $VIM: "/etc"
省略時の $VIMRUNTIME: "/usr/share/vim/vim82"
(略)
さて、本当に重要なのは以下のものと考えていました。
システム vimrc: "/etc/vimrc"
ここにあるリソースファイルを読み込みさえすればなんとかなるだろうと思っていてls
コマンドでファイルを確認してみると…
無い
ハタと困ってしまいました。読んできたドキュメントのセオリーに倣えば、そこにファイルがないとおかしいと考えてしまいました。
完全に先入観でした。はい。
で、もう一度先入観を捨てて、--version
の内容を確認すると、「デフォルトファイル」なるものを見つけました。
デフォルトファイル: "$VIMRUNTIME/defaults.vim"
もしかしてこれか? とls
コマンド追っかけると…ありました。
ファイルの中身を確認するとそれらしき設定が見えています。
そこで、.vimrc
ファイルの先頭に以下の文言を追加すると、無事にこれまでの色分けなどが復活しました。
source $VIMRUNTIME/defaults.vim
ああ、疲れた!
最後に
プログラムのアウトプットは情報の宝庫です。
でも、先入観を持ってしまうとなかなか「本当に欲しい情報」に出会えないということです、はい。