将文件内容从 WSL 复制到剪贴板到 Windows?

Copy the contents of a file to clipboard from WSL to Windows?

装备描述:

我在 Windows 10 上的 Windows 子系统 Linux (WSL) 中安装了 Debian。

目标:

解释:

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