0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Docker環境でも普段のVim環境を使えるようにする方法

Posted at

何これ?

えーん!Vim君がいなくてテキストファイルが見れないよー!
image.png

何の記事?

Dockerコンテナ内に普段の自分のVim環境を持ってくる方法について書きました。

誰向け? どんな役にたつ?

  • Dockerコンテナ内でもVimりたい人
  • コンテナの中でVimを使ってみたい人
  • Vim以外にもvimrcの設定や、Vimプラグインも入れたい人

あらすじ

開発環境をDockerで構築しているのですが、コンテナ内でコードを見たい、触りたい……となったのですが、VimどころかViですら入っていなかったので、調べながら環境を作った話を書き残します。

何をやったか

vim はapt install でインストールする

まずはVimのインストールですが、これはコンテナにDockerfileを作り、そのファイル内に下記のように記述します。

RUN apt update \
    && apt install -y \
        vim

これで、インストールしますか?系の質問はYesで、コンテナ内にVimをインストールしてくれます。

curlを入れてvim-plugをインストールする

Vimプラグインを動かすにあたって、プラグイン管理も入れたい場合、それをインストールするアプリケーションに加えて、プラグイン管理を入れるコマンドを書きます。

RUN apt update \
    && apt install -y \
        vim \
        curl \
        && curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim 

これで、vim-plugをインストールする際のcurlを入れた後、curlを使ったvim-plugのインストールが走ります。

COPYでvimrcを持ってくる

Vimたるもの、vimrcも普段使っているものを持ってきたいですね。
ローカル環境にあるファイルを、コンテナ内に持ってくるにはCOPYコマンドを使って、下記のように書きます。

COPY .vimrc /root/.vimrc

これで、コンテナのルートディレクトリ上に.vimrcを置いておくと、起動時にコンテナ内のルートディレクトリに同じ.vimrcを置いてくれます。

Windowsの場合はvimrcファイルの変換が必要

これで動くと思いきや、コンテナ起動後にVimを立ち上げようとすると、何やらvimrcが壮絶に読めないと怒られました。(エラー画像を取り忘れてしまいましたが……)
M365Copilotに聞くと、改行の扱いがWindowsとは違うからバグってるのでは?……とのこと。
vimrcを開いて、下記コマンドで変更してあげたら怒られなくなりました。

:set ff=unix

結果

FROM postgres:17
RUN apt update \
    && apt install -y \
        vim \
        nodejs \
        curl \
        && curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim 

COPY .vimrc /root/.vimrc

コンテナ内でVimが使えるようになりました!
この他、Vimに付随するものをインストールしたい場合でも、apt getに追加したり、vimrcに追記すれば使えるようになるかと思います。

もし、困っている方の参考になりましたら。

できなかったこと

今回、カラースキーマを持ってくるところまでいきませんでした。
多分、colorsディレクトリを作って、そこにファイルをCOPYしてきて……でできるかとは思うのですが……。Vimのデフォルトカラーに飽きたら検討しようと思います。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?