VimでPython3の補完をさせるメモ

ぼくはPycharmでコーディングする事が多いのですが、どこでもPycharmを使えるわけではないのでvimの環境を整えました。そのときのメモです。

Ubuntu Linux 17.04, Unbunt Linux 18.03, CentOS 7.5で環境を整えています。

スポンサーリンク
スポンサーリンク

Python3インストール

Ubuntu

Ubuntu Linux 18はPython3がデフォルトのPythonですからPython3をインストールする必要はありません。Ubuntu 17ではaptでPython3をインストールします。

sudo apt-get update
sudo apt-get install python3.6
sudo apt-get install python3-pip

Ubuntuでvenvを使うには次のようにします。

sudo apt-get install python3-venv

CentOS

CentOSでPython3をインストールするには次のようにします。

yum -y install https://centos7.iuscommunity.org/ius-release.rpm
yum -y install python36

venvについては、Ubuntuのように別途インストールする必要はありません。

vimをHuge版にしておく

vi –version を実行してバージョンを確認します。UbuntuはSmall版である可能性があるので 次のようにしてHuge版のvimをインストールしておきます。

sudo apt install vim

環境を整える

プラグイン管理

dein.vimを導入するため以下のコマンドをコピペします。curlがインストールされていないと失敗するので、curlをインストールするかcurlをwgetへ置き換えてください。

mkdir -p ~/.cache/dein
sh ./installer.sh ~/.cache/dein

インストールが完了するとvimの設定ファイルに追加する設定内容が表示されるので.vimrcへ追加しておきます。追加したら以下のように修正します。

“””以下をコメントアウト
“call dein#add(‘Shougo/neosnippet.vim’)
“call dein#add(‘Shougo/neosnippet-snippets’)
“”” 以下を追加
let g:config_dir = expand(‘~/.cache/userconfig’)
let s:toml       = g:config_dir . ‘/plugins.toml’
let s:lazy_toml  = g:config_dir . ‘/plugins_lazy.toml’
call dein#load_toml(s:toml,      {‘lazy’: 0})
call dein#load_toml(s:lazy_toml, {‘lazy’: 0})
プラグインを設定します。
mkdir -p ~/.cache/userconfig
cat << EOF >> ~/.cache/userconfig/plugins.toml
[[plugins]]
repo = ‘Shougo/dein.vim'[[plugins]]
repo = ‘Shougo/vimproc.vim’
EOF
cat << EOF >> ~/.cache/userconfig/plugins_lazy.toml
[[plugins]]
repo   = ‘Shougo/unite.vim'[[plugins]]
repo      = ‘Shougo/neomru.vim’
on_source = [‘unite.vim’][[plugins]]
repo = “davidhalter/jedi-vim”
on_ft = [‘python’]
EOF

vim起動

vimを起動してしばらく待ちます。起動時にパッケージのインストールが始まるはずなので、途中でvimを終了させないように注意します。ぼくはvimを閉じてしまってパッケージインストールを中途半端に終わらせてしまい、正常動作しなくてハマりました。
vimが起動したら一旦閉じて、Pythonスクリプトをvimで書いて補完が効く事を確認します。

deol.nvim requires Neovim.

vimを起動した際に deol.nvim requires Neovim. というメッセージが表示される場合があります。

この場合、~/.vimrcの下記の行をコメントアウトすると解決します。

” You can specify revision/branch/tag.
call dein#add(‘Shougo/deol.nvim’, { ‘rev’: ‘a1b5108fd’ })
↑を↓のようにコメントアウトする。
” You can specify revision/branch/tag.
call dein#add(‘Shougo/deol.nvim’, { ‘rev’: ‘a1b5108fd’ })
スポンサーリンク
スポンサーリンク