我在Docker容器中安装了Vim。
我想抽出一些文字,并以某种方式神奇地让它在我的主机(macOS)剪贴板上可用。
这甚至可能吗?
所以澄清一下,这是我的完整用例......
docker run ...
将一些带有Vim的容器烘焙到图像中现在我不确定这是如何工作的,主机(macOS)必须使用docker生态系统提供的VM才能首先运行docker(因为macOS不是基于Linux的)系统,因此可以在没有中间VM的情况下本地运行docker容器。
所以我不确定将内容放入docker系统剪贴板的技巧是否会过滤回VM并进入实际(macOS)主机。
我看到有人建议使用X11并将其套接字文件安装到docker容器中,然后使用xclip(或xsel)。我尝试了这个但是无法让Vim进入适当的xclip寄存器来获取被拉动的内容。所以后来我不确定我是否尝试设置和安装x11:
brew install Caskroom/cask/xquartz
open -a XQuartz
-v /tmp/.X11-unix:/tmp/.X11-unix
apt-get install -y xclip
"*yiw
中的vim内(选择"*
选择寄存器,然后yiw
将光标下的当前单词拉出来)<但似乎vim 8容器里面没有这样的寄存器可用于拉入?我已经安装到容器中的vimrc已经有set clipboard+=unnamed
(这是我过去使用的,以便让vim抓到macOS系统剪贴板)注意:如果我尝试直接使用
xclip
(只是为了查看它是如何工作的),我尝试的大部分内容都会产生Error: Can't open display: (null)
。
答案 0 :(得分:1)
答案 1 :(得分:0)
仅在tmux会话中运行,然后访问目标Docker容器(例如docker container exec -it myhost bash
),允许我使用vim打开内容,并使用标准的TMUX复制行为将其发送到主机剪贴板。任务完成。如果这是您的用例,则无需clipper
等。