Pythonプログラミングを快適にするWindows + Vim環境の作り方

<!-- wp:paragraph -->
<p>VimをWindows 10で利用したいが、なかなか苦労しているというユーザーは多いのでは無いでしょうか。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>本記事で、Windows 10 上で gVim を使った快適なプログラミング環境を構築する方法について、ご紹介します。</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>VimでPythonプログラミングを快適にする構成</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>下記の構成を前提とした構築します。</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3>OS &amp; Python</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul><li>Windows 10 Professional（執筆時点では バージョン 1903)</li><li>Python 2.7.16</li><li>Python 3.7.2</li></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>なお、Anaconda を活用しても良いとは思います。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>ただ、Python 2.7 環境があった方が良いケースがあるようなので、そちらは順番注意です。</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3>Vim</h3>
<!-- /wp:heading -->

<!-- wp:heading {"level":4} -->
<h4>本体&amp;プラグインマネージャー</h4>
<!-- /wp:heading -->

<!-- wp:list -->
<ul><li>gVim （<a rel="noreferrer noopener" aria-label="KaoriYa (新しいタブで開く)" href="https://www.kaoriya.net/software/vim/" target="_blank">KaoriYa</a>版がおすすめ)</li><li>プラグインマネージャー：dein</li></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>vim.org の vim もアリですが、Kaoriya版の方が色々な組み込みがされているので便利です。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>プラグインマネージャーは好みですが、dein が高速でメンテナンスも細やかなので人気があるようです。</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>プラグイン</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>プラグインはかなり好みがあると思いますが、今回は下記のようなオーソドックスな構成としています。（それでも数は多いですが...）</p>
<!-- /wp:paragraph -->

<!-- wp:table -->
<figure class="wp-block-table"><table class=""><tbody><tr><td><a href="https://github.com/Shougo/deoplete.nvim" target="_blank" rel="noreferrer noopener" aria-label="deoplete.nvim (新しいタブで開く)">deoplete.nvim</a> </td><td>入力補完</td><td></td></tr><tr><td><a href="https://github.com/roxma/nvim-yarp" target="_blank" rel="noreferrer noopener" aria-label="nvim-yarp  (新しいタブで開く)">nvim-yarp </a></td><td>フレームワーク</td><td> deoplete.nvim利用のため</td></tr><tr><td><a href="https://github.com/roxma/vim-hug-neovim-rpc" target="_blank" rel="noreferrer noopener" aria-label="vim-hug-neovim-rpc (新しいタブで開く)">vim-hug-neovim-rpc</a></td><td>フレームワーク</td><td> deoplete.nvim利用のため </td></tr><tr><td><a href="https://github.com/Shougo/denite.nvim" target="_blank" rel="noreferrer noopener" aria-label="denite.nvim (新しいタブで開く)">denite.nvim</a></td><td>検索ツール</td><td></td></tr><tr><td><a href="https://github.com/Shougo/defx.nvim" target="_blank" rel="noreferrer noopener" aria-label="defx.nvim (新しいタブで開く)">defx.nvim</a></td><td>ファイルマネージャー </td><td></td></tr><tr><td><a href="https://github.com/thinca/vim-quickrun" target="_blank" rel="noreferrer noopener" aria-label="vim-quickrun (新しいタブで開く)">vim-quickrun</a></td><td>簡易実行</td><td></td></tr><tr><td><a href="https://github.com/majutsushi/tagbar" target="_blank" rel="noreferrer noopener" aria-label="tagbar (新しいタブで開く)">tagbar</a></td><td>概要表示</td><td></td></tr><tr><td><a href="https://github.com/vim-scripts/mru.vim" target="_blank" rel="noreferrer noopener" aria-label="mru.vim (新しいタブで開く)">mru.vim</a></td><td>ファイル履歴表示</td><td></td></tr><tr><td><a href="https://github.com/tpope/vim-fugitive.git" target="_blank" rel="noreferrer noopener" aria-label="vim-fugitive.git (新しいタブで開く)">vim-fugitive.git</a></td><td>Git 操作</td><td></td></tr><tr><td><a href="https://github.com/airblade/vim-gitgutter" target="_blank" rel="noreferrer noopener" aria-label="vim-gitgutter (新しいタブで開く)">vim-gitgutter</a></td><td>Git 差分表示</td><td></td></tr><tr><td><a href="https://github.com/tpope/vim-surround" target="_blank" rel="noreferrer noopener" aria-label="vim-surround (新しいタブで開く)">vim-surround</a> </td><td>テキスト囲み補完</td><td></td></tr><tr><td><a href="https://github.com/vim-jp/vimdoc-ja" target="_blank" rel="noreferrer noopener" aria-label="vimdoc-ja (新しいタブで開く)">vimdoc-ja</a></td><td>ヘルプ日本語化</td><td></td></tr><tr><td><a href="https://github.com/vim-scripts/vim-auto-save" target="_blank" rel="noreferrer noopener" aria-label="vim-auto-save (新しいタブで開く)">vim-auto-save</a></td><td>自動保存</td><td></td></tr><tr><td><a href="https://github.com/tomasr/molokai" target="_blank" rel="noreferrer noopener" aria-label="molokai (新しいタブで開く)">molokai</a></td><td>カラースキーマ</td><td></td></tr><tr><td><a href="https://github.com/Yggdroot/indentLine" target="_blank" rel="noreferrer noopener" aria-label="indentLine (新しいタブで開く)">indentLine</a></td><td>インデント表示</td><td></td></tr><tr><td><a href="https://github.com/itchyny/lightline.vim" target="_blank" rel="noreferrer noopener" aria-label="lightline.vim (新しいタブで開く)">lightline.vim</a></td><td>ステータスバー表示</td><td></td></tr><tr><td><a href="https://github.com/Shougo/neosnippet.vim" target="_blank" rel="noreferrer noopener" aria-label="neosnippet.vim (新しいタブで開く)">neosnippet.vim</a></td><td>スニペットツール</td><td></td></tr><tr><td><a href="https://github.com/Shougo/neosnippet-snippets" target="_blank" rel="noreferrer noopener" aria-label="neosnippet-snippets (新しいタブで開く)">neosnippet-snippets</a></td><td>スニペット集</td><td></td></tr><tr><td><a href="https://github.com/cespare/vim-toml" target="_blank" rel="noreferrer noopener" aria-label="vim-toml (新しいタブで開く)">vim-toml</a></td><td>TOMLハイライト</td><td>Vimプラグイン設定用途</td></tr><tr><td><a href="https://github.com/gisphm/vim-gitignore" target="_blank" rel="noreferrer noopener" aria-label="vim-gitignore (新しいタブで開く)">vim-gitignore</a></td><td>gitignoreハイライト</td><td></td></tr><tr><td><a rel="noreferrer noopener" aria-label="vim-json     (新しいタブで開く)" href="https://github.com/elzr/vim-json" target="_blank">vim-json</a></td><td>JSONハイライト</td><td>PythonでJSONファイルはよく扱う</td></tr><tr><td><a href="https://github.com/psf/black" target="_blank" rel="noreferrer noopener" aria-label="black (新しいタブで開く)">black</a></td><td>Pythonフォーマッタ</td><td></td></tr><tr><td><a href="https://github.com/nvie/vim-flake8" target="_blank" rel="noreferrer noopener" aria-label=" (新しいタブで開く)">vim-flake8</a></td><td>Pythonコードチェッカー</td><td></td></tr><tr><td><a href="https://github.com/davidhalter/jedi-vim" target="_blank" rel="noreferrer noopener" aria-label="jedi-vim (新しいタブで開く)">jedi-vim</a></td><td>Python入力支援</td><td></td></tr><tr><td><a href="https://github.com/soramugi/auto-ctags.vim" target="_blank" rel="noreferrer noopener" aria-label="syntastic (新しいタブで開く)">syntastic</a></td><td>Pythonシンタックスチェッカー</td><td></td></tr><tr><td><a rel="noreferrer noopener" aria-label="auto-ctags.vim (新しいタブで開く)" href="https://github.com/vim-scripts/syntastic" target="_blank">auto-ctags.vim</a> </td><td> タグ生成 </td><td>プログラミング時のみ利用</td></tr></tbody></table></figure>
<!-- /wp:table -->

<!-- wp:paragraph -->
<p>こちらのサイトを参考に、さらに欲しいプラグインを加えると良いでしょう。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://vimawesome.com">https://vimawesome.com</a></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>注意</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>今回はあくまで gVim 、Windows上の1つのウインドウアプリケーションとして利用する上での構成となります。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>そのため、コマンドプロンプトやPowerShellで利用するには、不自由があります。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>そちらで利用するには、それに合わせた設定が必要になる点をご理解ください。</p>
<!-- /wp:paragraph -->

## 構築手順

[こちら](https://vim.blue/vim-python-windows10-howto/)をご覧ください。

## おわりに
Vim入門者のための記事を書いて情報発信しています。

[Vim入門](https://vim.blue)

Vimがもっと世に広まって、Vimmerが1人でも増えるように少しでも貢献できれば幸いです。