Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

vimrc にpython のpath を指定して起動速度を早くする

$
0
0

vim でpython を開いたり、editorconfig 等python に依存する特定のライブラリを使用する場合、起動速度が遅くなることがあります。
vim --startuptime vim.logとオプションを指定しvim を起動すると、実際にどこが遅いのか確認をすると、python の部分で大きく速度が遅いことがあります。
この部分ですが、python のpath の解決に時間がかかっているようなので、python のpath 情報をvimrc に記述することで早くなります。

.vimrc
letg:python_host_prog = expand('~/.pyenv/shims/python2')letg:python3_host_prog = expand('~/.pyenv/shims/python3')

しかしこれでは早くなりませんでした。 ~/.pyenv/shims/pythonを確認すると、これはpython バイナリではないことが分かりました。
pyenv の場合、python バイナリは ~/.pyenv/versions以下にあります。

.vimrc
letg:python_host_prog = expand('~/.pyenv/versions/miniconda2-latest/bin/python2')letg:python3_host_prog = expand('~/.pyenv/versions/miniconda3-latest/bin/python3')

しかし、バージョンをハードコーディングするのはイケていないため、どうにかします。
$ pyenv which python3とすることで、python バイナリのpath が出てくるので、このコマンドをvimrc 内で実行します。

.vimrc
letg:python_host_prog = systemlist('pyenv which python2 2>/dev/null || which python2')[0]
letg:python3_host_prog = systemlist('pyenv which python3 2>/dev/null || which python3')[0]

vim の systemでは、末尾の改行も含まれてしまうため、 systemlistの先頭要素を取得します。
また、pyenv でない場合は which pythonの結果で良いため、pyenv を使用していない場合のフォールバックとして指定しておきます。

これによって起動が0.2秒ほど早くなりました。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>