Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在docker构建期间自动执行vim插件安装_Docker_Vim_Dockerfile - Fatal编程技术网

在docker构建期间自动执行vim插件安装

在docker构建期间自动执行vim插件安装,docker,vim,dockerfile,Docker,Vim,Dockerfile,我正在构建一个docker映像,我希望它能够下载保存在github上的点文件,并安装我指定的vim插件 RUN cd ~ && git clone https://github.com/bdhammel/dotfiles.git && \ ./dotfiles/makesymlinks.sh && vim +silent! +PluginInstall +qall 但是,这样做会引发此错误并终止生成: Vim: Warning: Outp

我正在构建一个docker映像,我希望它能够下载保存在github上的点文件,并安装我指定的vim插件

RUN cd ~ && git clone https://github.com/bdhammel/dotfiles.git && \
    ./dotfiles/makesymlinks.sh && vim +silent! +PluginInstall +qall
但是,这样做会引发此错误并终止生成:

Vim: Warning: Output is not to a terminal
Vim: Warning: Input is not from a terminal
有办法解决这个问题吗?

静默批处理模式
对于非常简单的文本处理,即使用Vim,如增强的“sed”或“awk”,无需任何交互,以下是我使用的一个完全有效的示例:

RUN [ "/bin/bash", "-c", "vim -T dumb -n -i NONE -es -S <(echo -e 'silent! PluginInstall')" ]
... -S <(echo -e "silent! PluginInstall\nqall")
RUN [ "/bin/bash", "-c", "vim -T dumb -n -i NONE -es -S <(echo -e 'silent! PluginInstall')" ]