linuxdockervim

vim php编辑器的docker镜像构建

2019-10-12  本文已影响0人  theache

今年用了大半年的vim感觉越来越好用了。但是vim的配置迁移比较麻烦的,之前自己安装的时候都没做记录,导致现在要在新电脑上装一个都不知道怎么装。这里记录一下在构件一个vim的docker镜像用于编写php。

镜像选择

这里我选用最新的alpine为基础镜像。原因无它,这个小。我电脑上的alpine,ubuntu,centos,以此为5M,64M,220M。这里我并不打算使用这个镜像来作为本地的运行环境,只是简单的来编写代码而已。

FROM alpine

导入配置文件

这里我预先准备好的vim和coc.nvim的配置文件 github地址

COPY vimrc /root/.vimrc
COPY coc-settings.json /root/.vim/coc-settings.json

常用软件安装

我的机器上常用除了vim,还有tmux。这个也可以一起做到镜像里面去。大概是有git管理代码,vim编辑器,tmux多终端工具,python3暂时只用于扩展vim,使其某些依赖python3的插件,curl这个不嫌麻烦可以不下用wget也行,zsh丰富shell功能,php7 composer这个就不用说了phper都会用,nodejs yarn npm代码补全插件需要yarn安装命令,npm是为了以后用 顺便就一块装了,ctags生成项目索引文件,用于代码跳转和补全,php7-tokenizer这个做为用于php-cs-fixer格式化php代码的依赖。

RUN apk update && \
    apk add --no-cache git vim tmux python3 curl zsh php7 composer nodejs yarn npm ctags php7-tokenizer

相关命令安装

上面只是安装了相关软件。具体的配置还是要自己去装的。这里我只装了php代码补全格式化,zsh主题oh-my-zsh和vim-plug。

    # php 补全命令
RUN npm i intelephense -g && \
    # 安装oh-my-zsh
    sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)" && \
    # 安装vim-plug
    curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim && \
    # 添加php-cs-fixer
    composer global require friendsofphp/php-cs-fixer && \
    echo 'export PATH=$PATH:/root/.composer/vendor/bin' >> /root/.zshrc

刚开始的时候我是想在构建的时候就自动安装好vim的插件,但是在自动安装的过程中插件不是一下子能全部装好的。容易出错导致构建失败。最后还是决定在镜像就不装了,在本地容器内部自行安装即可。但是要是想自动安装的,需要添加下面命令

RUN vim +PlugInstall +q +q

部署测试

以上就完成了dockerfile文件。可以直接进行构建。

// 构建镜像
docker build -t vim-php:v1 .
// 运行镜像
docker run -it --name vim-php -d vim-php:v1
// 进入容器
docker exec -it vim-php zsh
// 安装vim插件 进入vim会报错 是因为插件没装的关系不用管
vim
// 命令模式下
:PlugInstall

随便编写个php文件测试补全和格式化效果

image
上一篇 下一篇

猜你喜欢

热点阅读