我把Vim安装在一个docker容器里面.
我想要一些文本,并以某种方式神奇地使它在我的主机(macOS)剪贴板上可用.
这甚至可能吗?
UPDATE
所以要澄清一下,这是我的完整用例……
> docker run …将一些带有Vim的容器烘焙到图像中
>默认的CMD会让我进入bash shell
>我正在将主机(macOS)中的app目录安装到容器中
>从容器中运行vim,编写一些代码
>来自vim我想要一些文本并且在两者中都有:
> docker系统剪贴板(如果需要,我可以将它粘贴到容器shell中)
>主机(macOS)系统剪贴板(所以我可以将其粘贴到其他主机程序; TextEdit或电子邮件,等等)
现在我不确定这是如何工作的主机(macOS)必须使用docker生态系统提供的VM才能首先运行docker(因为macOS不是基于Linux的系统,因此可以在没有中间VM的情况下本地运行docker容器.
所以我不确定将内容放入docker系统剪贴板的技巧是否会过滤回VM并进入实际(macOS)主机.
X11
我见过人们建议使用X11并将其套接字文件安装到docker容器中,然后使用xclip(或xsel).我尝试了这个但是无法让Vim进入适当的xclip寄存器来获取被拉动的内容.所以随后我不确定我是否尝试设置和安装x11:
> brew安装Caskroom / cask / xquartz
>打开-a XQuartz
>作为docker run的一部分运行-v /tmp/.X11-unix:/tmp/.X11-unix
>从容器内部apt-get install -y xclip
>从容器中的vim内部“* yiw(选择”*选择寄存器然后yiw将光标下的当前单词拉出来)
Note: if I tried to use xclip
directly (just to see how it worked), most of what I tried resulted in Error: Can't open display: (null)
.
最佳答案 绝对是.
看看https://github.com/wincent/clipper
这是一个让你用netcat写入剪贴板的服务.
您所要做的就是能够访问您的machine’s localhost from inside a docker container.