HomebrewでインストールしたMacVimがpyenvのpythonでビルドされない問題を解決

 場当たり的な解決方法です。細かいところは間違っていると思いますが、とりあえずこれで上手くいったのでまとめておきます。いい方法、正しい方法があったら教えて下さい。


##こんな問題でお悩みの方を救う記事です
* pyenvのPythonではなく、システムやHomebrewのPythonでMacVimがビルドされてしまう
* Homebrewでpython3をインストールしないと、+python/dyn +python3/dyn にならない
* `brew install python3` して `--with-properly-linked-python2-python3` でインストール後、pythonファイルを開くとSegmentaion fault

## MacVimのインストール手順
### macvimのレポジトリをtap
`brew install macvim`は、ビルド済みのものをインストールするだけなので、macvimのリポジトリからソースコードをとってきてビルド＆インストールします。

```sh
$ brew tap macvim-dev/macvim
```

### pyenvのPythonをDLL付きでインストール
pyenvで普通にインストールした場合、MacVimのビルドに必要なDLLが作成されないので、以下の様な環境変数を付け加えてビルドします。python3は`-undefined dynamic_lookup`がない`とpip install greenlet`などでエラーが出ます。

**バージョン数字は自分が使っているものに変更しましょう。**

```sh
PYTHON_CONFIGURE_OPTS="--enable-shared" \
    LDSHARED="clang -bundle" \
    LDCXXSHARED="clang++ -bundle" \
    BLDSHARED="clang -bundle -lpython2.7" \
    pyenv install 2.7.12

PYTHON_CONFIGURE_OPTS="--enable-shared" \
    LDSHARED="clang -undefined dynamic_lookup　-bundle"\
    LDCXXSHARED="clang++ -undefined dynamic_lookup　-bundle" \
    BLDSHARED="clang -bundle -undefined dynamic_lookup　-lpython3.5m" \
    pyenv install 3.5.2
```


### brew editでビルドの設定を変更
ビルドの引数がソースコードで設定されているのでbrew editで、ソースコードを書き換えていきます。（brewに不慣れなので気づくのに１日かかりました。）

```sh
$ brew edit macvim-dev/macvim/macvim
```
Rubyのコードが表示されるので、上部のdef installを変更します。コメントアウトしている部分がデフォルトの値です。HomebrewでインストールしたPython3しかみないようになっていますので、pyenvのPython3を参照するようパスを変更します。python2もMacOSのSystemライブラリを参照しようとしたりするので、python2もpyenvのpython2を参照するよう変数とパスを追記します。
**enushiの部分は自分のユーザ名に変更しましょう。**

```ruby
  def install
    perl_version = '5.16'
    ENV.append 'VERSIONER_PERL_VERSION', perl_version
    ENV.append 'VERSIONER_PYTHON_VERSION', '2.7'
    ENV.append 'vi_cv_path_python', "/Users/enushi/.pyenv/versions/2.7.10/bin/python2"
    ENV.append 'vi_cv_path_python3', "/Users/enushi/.pyenv/versions/3.4.3/bin/python3"
    ENV.append 'vi_cv_path_plain_lua', "#{HOMEBREW_PREFIX}/bin/lua"
    ENV.append 'vi_cv_dll_name_perl', "/System/Library/Perl/#{perl_version}/darwin-thread-multi-2level/CORE/libperl.dylib"
    ENV.append 'vi_cv_dll_name_python3', "/Users/enushi/.pyenv/versions/3.4.3/lib/libpython3.4m.dylib"
    ENV.append 'vi_cv_dll_name_python', "/Users/enushi/.pyenv/versions/2.7.10/lib/libpython2.7.dylib"
    #ENV.append 'vi_cv_path_python3', "#{HOMEBREW_PREFIX}/bin/python3"
    #ENV.append 'vi_cv_path_plain_lua', "#{HOMEBREW_PREFIX}/bin/lua"
    #ENV.append 'vi_cv_dll_name_perl', "/System/Library/Perl/#{perl_version}/darwin-thread-multi-2level/CORE/libperl.dylib"
    #ENV.append 'vi_cv_dll_name_python3', "#{HOMEBREW_PREFIX}/Frameworks/Python.framework/Versions/3.5/Python"
```

### MacVimのインストール
`--with-properly-linked-python2-python3`は必須です。
`--with-override-system-vim`は、OSにデフォルトで入っているvim(コンソール上で動くvim)を`mvim -v`に置き換えてくれるオプションです。お好みで使いましょう。

```sh
brew install --HEAD --with-properly-linked-python2-python3 --with-override-system-vim macvim-dev/macvim/macvim
```

### インストール後の確認
mvimを起動して以下のコマンドを実行しましょう。

```
:python print(sys.path)
:py3 print(sys.path)
```
出力されたパスがpyenvのpythonになっているはずです。また連続して実行できるなら`--with-properly-linked-python2-python3`の効果がでています。

### 参考
* [MacVim with Python 2.x and Python 3.x](https://gist.github.com/splhack/4ec93591aec286beac496bbd5cc8d764)
* [MacVimでPythonの開発環境を構築する](http://ryunix.hatenablog.jp/entry/2016/05/30/090000)

それでは。Happy Vim Life