Tag: Vim

  • Dockerでvimを使う方法(Python有効化も)

    Dockerでvimを使う方法(Python有効化も)

    オンプレのサーバにVimをインストールする際に、ビルド手順(主にconfigure内容)を忘れてググることが多いので自分の備忘録として残したいと思います。 また、一口にVimと言ってもVim8、NeoVimをyumやらaptやらでインストールするパターンと、ソースコードからコンパイルするパターンがあると思いますので、今回はDockerコンテナ上で以下の4パターンを試してみたいと思います。 Vim8をパッケージマネージャでインストールするパターン NeoVimをパッケージマネージャでインストールするパターン Vim8をソースからビルドしてPython2, 3を有効にしたパターン NeoVimをパッケージマネージャからインストールしてPython2, 3を有効にしたパターン Dockerコンテナのベースイメージは軽量化のためAlipneLinuxを使用していますがCentOSでもUbuntuでも手順はほぼ変わらないと思います。 1. Vim8 まずはVim8のみ、Pythonを有効にしていない状態であれば以下のように簡単にインストールすることができます。 Dockerfileを用意したらbuildコマンドを実行し、コンテナを起動します。 コンテナを起動したらvimを起動できることを確認します。 2. NeoVim 次にNeoVimを試します。こちらもVim8同様、簡単にインストールすることができます。 先ほどとほぼ同じ手順でNeoVimがインストールできます。 3. Vim8 + Python 次にプラグインを使用するためにPythonを有効化したVim8をインストールします。先ほどの方法でもPython3は有効になっているのですが一応Python2も有効にしてみます。Dockerfileは少し複雑になります。 まずVim8のソースコードをcloneするためのgitや、ビルドするためのgccなど必要なパッケージをインストールします。 その後、git cloneしてcdでディレクトリに移動してからビルドしますがDockerでは以下のようにRUN cd vimとしてもconfigureが実行できません。 Dockerはコマンド1つ毎にカレントディレクトリに戻りますのでcdした後に&&で続けてビルドを実行しないとカレントディレクトリに戻って実行してしまうのでエラーになります。 configureが終わったらmake installして完了です。 コンテナを立ち上げてVimを確認します。 Vimの確認は以下のコマンドです。 +pythonとなっているのでPython2, Python3が有効になっています。 Vimを起動して確認してみましょう。 ノーマルモードで以下のコマンドを実行して1が表示されればPythonは有効になっています。 4. NeoVim + Python 最後にNeoVim+Pythonを試します。Pythonをインストールし、pipでneovimパッケージをインストールするだけですので前述のVim8ほど複雑ではありません。 Python3のpipはneovimをインストールする前にupgradeしないと怒られるのでupgradeしてからneovim installとしています。 こちらもコンテナを起動して確認します。 NeoVimはヘルスチェックができるので起動後、ノーマルモードでヘルスチェックコマンドを実行しましょう。 Python2, Python3のどちらもOKとなっているので有効であることが確認できました。 まとめ DockerでのVimのインストール方法をまとめてみました。Dockerを使う場合はファイル共有にしてローカルのVimで開発するのでDocker上でVimを使用することは少ないのですが、Dockerfileを作成しておくことは無駄ではないかな、と思い作成してみました。 Docker上で開発を行うVimmerの役に立てれば幸いです。 今回作成したDockerfileはこちら。https://github.com/aizulab-igarashi/docker_vim