使用wl-clipboard (WSL2)从neovim复制到系统剪贴板

问题描述 投票:0回答:1

我尝试了这个提示来使用wl-clipboard,但它不起作用。仅供参考,我当前的 nvim 设置在 WSL2 Ubuntu 上使用

win32yank
。然而,进展缓慢。这就是为什么我正在寻找其他更快的方法。

这是我从上面的链接复制的 wl-clipboard 的 lua 代码。

vim.opt.clipboard = "unnamedplus" 
if vim.fn.has("wsl") == 1 then
  if vim.fn.executable("wl-copy") == 0 then
    print("wl-clipboard not found, clipboard integration won't work")
  else
    vim.g.clipboard = {
      name = "wl-clipboard (wsl)",
      copy = {
        ["+"] = "wl-copy --foreground --type text/plain",
        ["*"] = "wl-copy --foreground --primary --type text/plain",
      },
      paste = {
        ["+"] = function()
          return vim.fn.systemlist('wl-paste --no-newline|sed -e "s/\r$//"', { "" }, 1) -- '1' keeps empty lines
        end,
        ["*"] = function()
          return vim.fn.systemlist('wl-paste --primary --no-newline|sed -e "s/\r$//"', { "" }, 1)
        end,
      },
      cache_enabled = true,
    }
  end
end
wsl-exe. --version

上面的命令返回下面的值。

WSL version: 2.0.14.0
Kernel version: 5.15.133.1-1
WSLg version: 1.0.59
MSRDC version: 1.2.4677
Direct3D version: 1.611.1-81528511
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.22621.3007

我的 nvim 版本

NVIM v0.10.0-dev
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3

有人让 wl-clipboard 工作吗?

windows-subsystem-for-linux clipboard neovim wsl-2 neovim-plugin
1个回答
0
投票

我使用以下脚本完成了这项工作:

#!/bin/bash

file_guard='/tmp/gui-fixed'

if ! test -f $file_guard; then
    sudo umount --quiet /tmp/.X11-unix
    sudo rm -rf /tmp/.X11-unix
    sudo ln -s /mnt/wslg/.X11-unix /tmp/.X11-unix
    sudo ln -s /mnt/wslg/runtime-dir/wayland-0* /run/user/1000/
    sudo touch $file_guard
fi

确保在您的

guiApplications=true
文件中使用
C:\Users\<YourUser>\.wslconfig
启用 wslg。

© www.soinside.com 2019 - 2024. All rights reserved.