美文网首页linuxdockervim
vim php编辑器的docker镜像构建

vim php编辑器的docker镜像构建

作者: theache | 来源:发表于2019-10-12 04:56 被阅读0次

    今年用了大半年的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

    相关文章

      网友评论

        本文标题:vim php编辑器的docker镜像构建

        本文链接:https://www.haomeiwen.com/subject/moyfmctx.html