将文件内容从 WSL 复制到剪贴板到 Windows?
Copy the contents of a file to clipboard from WSL to Windows?
装备描述:
我在 Windows 10 上的 Windows 子系统 Linux (WSL) 中安装了 Debian。
- 主机表示Windows10.
- 方框表示我的WSL-Debian box/container.
目标:
- 我在 WSL 上有一个 SSH 密钥 (my_rsa.pub);
- 我想将该文件的内容复制到主机的剪贴板;
- 通过运行框中的命令(命令行代码,不使用鼠标)。
解释:
SSH文件很长,用鼠标复制没有意义。
我还听说 Debian 没有附带剪贴板:您需要安装剪贴板吗?所以,我什至不知道从哪里开始看。
我尝试过的:
已配置并正常工作,但是一旦 VIM 关闭,任何复制到 'clipboard' 的内容都会从 'clipboard' 中删除;同样,Nano 有一个 CTRL+u 功能来剪切文本,并且它的剪贴板在 Nano 之外不存在。
- 命令:
cat /path/to/file | clip.exe
- 描述:
cat
命令将文件内容输出。然后通过管道传输到
clip.exe
,一个 Win32 程序,将输出重定向到 Windows 剪贴板。
不要忘记添加后一个的 .EXE
扩展名。有多个
cat
可以使用替代方案,请参阅 this and this。
(@Biswapriyo 的正确答案的替代方案)
使用win32yank.exe
在 $PATH
中有 .exe:
cat /path/to/file | win32yank.exe -i
使用 Neovim
cat /path/to/file | nvim -c 'normal ggVG"+yZQ' --headless -
说明
Neovim 使用外部程序与系统剪贴板交互,具体程序因平台而异。在 Windows 上它使用 win32yank.exe
。 -c
选项允许在加载文件后执行命令,--headless
使 Neovim 运行 没有 UI,尾随 -
表示从标准输入。因此,如果您已经在 WSL 中配置了 Neovim 以使用剪贴板,这也应该可以工作(与直接调用 win32yank.exe 大致相同)。
在 WSL 中配置 Neovim 的剪贴板:
https://github.com/neovim/neovim/wiki/FAQ#how-to-use-the-windows-clipboard-from-wsl
装备描述:
我在 Windows 10 上的 Windows 子系统 Linux (WSL) 中安装了 Debian。
- 主机表示Windows10.
- 方框表示我的WSL-Debian box/container.
目标:
- 我在 WSL 上有一个 SSH 密钥 (my_rsa.pub);
- 我想将该文件的内容复制到主机的剪贴板;
- 通过运行框中的命令(命令行代码,不使用鼠标)。
解释:
SSH文件很长,用鼠标复制没有意义。
我还听说 Debian 没有附带剪贴板:您需要安装剪贴板吗?所以,我什至不知道从哪里开始看。
我尝试过的:
- 命令:
cat /path/to/file | clip.exe
- 描述:
cat
命令将文件内容输出。然后通过管道传输到
clip.exe
,一个 Win32 程序,将输出重定向到 Windows 剪贴板。
不要忘记添加后一个的 .EXE
扩展名。有多个
cat
可以使用替代方案,请参阅 this and this。
(@Biswapriyo 的正确答案的替代方案)
使用win32yank.exe
在 $PATH
中有 .exe:
cat /path/to/file | win32yank.exe -i
使用 Neovim
cat /path/to/file | nvim -c 'normal ggVG"+yZQ' --headless -
说明
Neovim 使用外部程序与系统剪贴板交互,具体程序因平台而异。在 Windows 上它使用 win32yank.exe
。 -c
选项允许在加载文件后执行命令,--headless
使 Neovim 运行 没有 UI,尾随 -
表示从标准输入。因此,如果您已经在 WSL 中配置了 Neovim 以使用剪贴板,这也应该可以工作(与直接调用 win32yank.exe 大致相同)。
在 WSL 中配置 Neovim 的剪贴板:
https://github.com/neovim/neovim/wiki/FAQ#how-to-use-the-windows-clipboard-from-wsl