読者です 読者をやめる 読者になる 読者になる

ポンコツWebエンジニアのかっこ悪く生きる日記

頭の中にあるうちは何だって傑作

Homebrew を uninstall したら vimrc が効かなくなった

どうやって書くと分かりやすい文章になるのか分かりませんが、始めて技術系のブログを書いてみます。 始めてだからといって時間をたくさん使ってだらだら書きたくないので30分で書きます。 間違ってること言ってたらすみません。ご指摘ください。 今回のブログはトライアンドエラーのトライ感覚なので後で振り返ります😂

MacOS X 10.11 El Capitan にアップグレードしたら Homebrew 関連で色々事件が起きたので Homebrew を入れなおすことにしました。 この問題に関してはまだ理解が浅いので別の機会に...。 以下の Qiita 記事に諸々怖いことが書いてあります。

qiita.com

今回は Homebrew を uninstall したら vimrc が効かなくなったことから解決に至るまでを書いていこうと思います。 vim や vimrc がどうやって動いているのか全然分かっていなかった僕に圧倒的成長機会が到来しました。

以下、解決の手順です。 社内の熟練技術者さんに相談して解決しました。

解決の手順

vim の中で :version を打つと vim の version が分かる。

VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Oct 28 2015 19:46:19)

僕の version は 7.3 のようだ。 (vim に version があることを始めて知りました。)

vim の中で :help をすると vim が vimrc を読み込む場所が書いてある。

 Recommended place for your personal initializations:
                Unix                $HOME/.vimrc

7.3 だと vimrc は$HOME/.vimrcを見ているようだ。

じゃあ自分の vimrc はどこにあるのだろう?

% ls -alh ~/.vim/vimrc                                                                                                                                                                       (git)-[master]
-rw-r--r--  1 usr0600328  staff    10K Apr 19 19:07 ~/.vim/vimrc

おお!? ~/.vim/vimrc にある! そうか。これでは vimrc は読み込まれないなぁ。

調べてみたら

.vim/vimrc は7.4からの設定場所

ということが分かった。

ここで以下仮説を立てた。

  • もしかして以前自分が使っていた Vim のバージョンは 7.4 で vimrc は ~/.vim/vimrc から読み込んでいた?
  • しかし今回 Homebrew を uninstall したことにより Homebrew で入れていた Vim が削除されてしまった。
  • そしてもともと Mac に入っているシステムの方の Vim を開くようになってしまった。
  • システムの Vim はバージョンが古く、$HOME/.vimrc の vimrc を見ようとしていた。
  • そこに vimrc は存在しないため vimrc が読み込まれなかった。
% which vim
/usr/bin/vim

そのとおりだった😆

解決手段

  • homebrew で vim を入れる or macvim をいれる
    • macvim は GUI 上でもVimの操作を使えて便利かも

homebrew で install を選択

% which vim
/usr/bin/vim
% brew info vim
vim: stable 7.4.1864, HEAD
Vi "workalike" with many additional features
http://www.vim.org/
Conflicts with: ex-vi
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/vim.rb
==> Dependencies
Optional: lua ✔, luajit ✔
==> Options
--with-client-server
    Enable client/server mode
--with-lua
    Build vim with lua support
--with-luajit
    Build with luajit support
--with-mzscheme
    Build vim with mzscheme support
--with-override-system-vi
    Override system vi
--with-python3
    Build vim with python3 instead of python[2] support
--with-tcl
    Build vim with tcl support
--without-nls
    Build vim without National Language Support (translated messages, keymaps)
--without-perl
    Build vim without perl support
--without-python
    Build vim without python support
--without-ruby
    Build vim without ruby support
--HEAD
    Install HEAD version
% brew install vim   --with-lua
==> Downloading https://github.com/vim/vim/archive/v7.4.1864.tar.gz
==> Downloading from https://codeload.github.com/vim/vim/tar.gz/v7.4.1864
######################################################################## 100.0%
==> ./configure --prefix=/usr/local --mandir=/usr/local/Cellar/vim/7.4.1864_1/share/man --enable-multibyte --with-tlib=ncurses --enable-cscope --with-co
==> make
==> make install prefix=/usr/local/Cellar/vim/7.4.1864_1 STRIP=true
🍺  /usr/local/Cellar/vim/7.4.1864_1: 1,689 files, 22.6M, built in 1 minute 34 seconds
% which vim
/usr/local/bin/vim

よし!

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jun  5 2016 19:18:16)

7.4 になっている!

解決!!

次は

  • homebrew の uninstall が原因なのか .vim/vimrc から dotfiles/vim/vimrc へのシムリンクが外れていました。
  • 現状 dotfiles 管理になっていないようなのでシムリンクします。
  • シムリンク後はシムリンク後はこの2つの差分が無ければどっちかは削除しようと思います.