LoginSignup
1
3

More than 5 years have passed since last update.

pyenv利用時のMacVim + powerline導入メモ

Last updated at Posted at 2018-08-29

Introduction

Macbookを新調したので憧れのiTerm2 + zsh + tmux + vim環境を整えています。
powerlineを導入する際に少々苦戦したため覚書です。

Goal

zsh, tmux, vimに対しpowerlineを導入する。

How to

Python (pyenv)

pyenvをインストールします。

$ brew update
$ brew install pyenv
$ echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(pyenv init -)"' >> ~/.zshrc
$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc
$ source ~/.zshrc
$ pyenv -v

via / pyenv/pyenv: Simple Python version management

python3.5.1をインストールします。
このとき、MacVimのビルドに必要なDLLを含めるように環境変数を設定します。
otoolでDLLのパスを確認できます。

$ PYTHON_CONFIGURE_OPTS="--enable-shared" \
    LDSHARED="clang -bundle" \
    LDCXXSHARED="clang++ -bundle" \
    BLDSHARED="clang -bundle -lpython3.5m" \
    pyenv install 3.5.1
$ otool -L $HOME/.pyenv/versions/3.5.1/lib/python3.5/lib-dynload/_ctypes.cpython-35m-darwin.so

via / MacVim with Python 2.x and Python 3.x

MacVim

macvimのリポジトリからソースコードを取得します。

$ brew tap macvim-dev/macvim
$ brew edit macvim-dev/macvim/macvim

MacVimのビルド引数を編集します。
HomeBrewのpythonを見ているので、pyenvでインストールしたpythonのパスに変更します。

# ENV.append 'vi_cv_path_python3', "#{HOMEBREW_PREFIX}/bin/python3"
# ENV.append 'vi_cv_dll_name_python3', "#{HOMEBREW_PREFIX}/Frameworks/Python.framework/Versions/3.5/Python"
ENV.append 'vi_cv_path_python3', "/Users/<ユーザ名>/.pyenv/versions/3.5.1/bin/python3"
ENV.append 'vi_cv_dll_name_python3', "/Users/<ユーザ名>/.pyenv/versions/3.5.1/lib/libpython3.5m.dylib"

macvimをインストールします。

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

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

powerline

$ pip install powerline-status
$ git clone https://github.com/powerline/fonts.git 
$ fonts/install.sh
$ rm -rf fonts

$ cp -r ~/.pyenv/versions/3.5.1/lib/python3.5/site-packages/powerline/config_files/* ~/.config/powerline

設定

zsh

~/.zshrc
powerline-daemon -q
. /Users/<ユーザ名>/.pyenv/versions/3.5.1/lib/python3.5/site-packages/powerline/bindings/zsh/powerline.zsh

tmux

~/.tmux.conf
set-option -g default-terminal screen-256color
set -g terminal-overrides 'xterm:colors=256'
run-shell "powerline-daemon -q"
source "/Users/<ユーザ名>/.pyenv/versions/3.5.1/lib/python3.5/site-packages/powerline/bindings/tmux/powerline.conf"

vim

~/.vimrc
python3 from powerline.vim import setup as powerline_setup
python3 powerline_setup()
python3 del powerline_setup
set laststatus=2
set showtabline=2
set noshowmode

via / Powerline導入例

Conclusion

苦戦した原因は、MacVimを素でインストールするとpythonが実行できないという点でした。
またpyenvによるpythonのバージョン切替を行えるようにしていたためMacVimのビルド設定にも調整が必要でした。

改めて考えると
わざわざMacVimでなくてもよかったのでは・・・
powerline使うならVim 8.xでいいのでは・・・
Vimはvim-airline使えばよかったのでは・・・
など反省点は尽きません。

しばらくはiTerm2以外のGUIも頻繁に使うため、スタンドアロンで動くMacVimはひとまずアリかなと思いつつ、今後dotfile化させるためにも整理していきます。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3