【发布时间】:2017-08-21 20:26:03
【问题描述】:
我在 docker 容器中安装了 Vim。
我想抽出一些文本并以某种方式神奇地使其在我的主机 (macOS) 剪贴板上可用。
这可能吗?
更新
所以澄清一下,这是我的全部用例......
-
docker run ...一些将 Vim 烘焙到图像中的容器 - 默认 CMD 会将我放入 bash shell
- 我正在将应用程序目录从我的主机 (macOS) 挂载到容器中
- 从我运行vim的容器中,写一些代码
- 我想从 vim 中提取一些文本并将其包含在两者中:
- docker 系统剪贴板(如果需要,我可以将其粘贴到容器外壳中)
- 主机 (macOS) 系统剪贴板(这样我就可以将其粘贴到其他主机程序;TextEdit 或电子邮件等)
现在我不确定主机 (macOS) 必须使用 docker 生态系统提供的 VM 才能首先运行 docker(因为 macOS 不是基于 Linux 的系统,并且因此,如果没有中间 VM,就无法原生运行 docker 容器)。
所以我不确定将内容获取到 docker 系统剪贴板的技巧是否会过滤回 VM 并进入实际的 (macOS) 主机。
x11
我看到有人建议使用 X11 并将其套接字文件安装到 docker 容器中,然后使用 xclip(或 xsel)。我试过这个,但无法让 Vim 拉入适当的寄存器,以便 xclip 获取被拉出的内容。所以后来我不确定我设置和挂载 x11 的尝试是否有效:
brew install Caskroom/cask/xquartzopen -a XQuartz- 作为 docker run
-v /tmp/.X11-unix:/tmp/.X11-unix的一部分 - 从容器内部
apt-get install -y xclip - 从容器
"*yiw中的vim中(选择"*选择寄存器,然后yiw拉出光标下的当前单词)set clipboard+=unnamed(这是我过去用来让 vim 拉到 macOS 系统剪贴板的东西)
注意:如果我尝试直接使用
xclip(只是为了看看它是如何工作的),我尝试的大部分结果都是Error: Can't open display: (null)。
【问题讨论】:
标签: docker vim containers