在 init.lua 中使用 WSL clipboard win32yank

我刚刚安装了最新版本的 neovim,但是我遇到了配置问题,我想要做到如下所示:

let g:clipboard = {
      \   'name': 'win32yank-wsl',
      \   'copy': {
      \      '+': 'win32yank.exe -i --crlf',
      \      '*': 'win32yank.exe -i --crlf',
      \    },
      \   'paste': {
      \      '+': 'win32yank.exe -o --lf',
      \      '*': 'win32yank.exe -o --lf',
      \   },
      \   'cache_enabled': 0,
      \ }

虽然在 init.vim 中可行,但是在我的 init.lua 中却不行,我寻找解决方案发现我应该在开始时使用:

vim.g.clipboard

这样我便想以相同方式放置剩下的代码:

vim.g.clipboard = {
      \   'name': 'win32yank-wsl',
      \   'copy': {
      \      '+': 'win32yank.exe -i --crlf',
      \      '*': 'win32yank.exe -i --crlf',
      \    },
      \   'paste': {
      \      '+': 'win32yank.exe -o --lf',
      \      '*': 'win32yank.exe -o --lf',
      \   },
      \   'cache_enabled': 0,
      \ }

但是我得到了以下错误消息:

E5113: 在调用 lua chunk 时发生错误: vim.lua:63: /home/us/.config/nvim/lua/basic-settings.lua:14:
 unexpected symbol near '\'

所以我决定删除 /

vim.g.clipboard = {
         'name': 'win32yank-wsl',
         'copy': {
            '+': 'win32yank.exe -i --crlf',
            '*': 'win32yank.exe -i --crlf',
          },
         'paste': {
            '+': 'win32yank.exe -o --lf',
            '*': 'win32yank.exe -o --lf',
         },
         'cache_enabled': 0,
       }

但是我又得到了以下错误消息:

Error detected while processing /home/us/.config/nvim/init.lua:
E5113: 在调用 lua chunk 时发生错误: vim.lua:63: /home/us/.config/nvim/lua/basic-settings.lua:14:
 '}' expected (to close '{' at line 13) near ':'

我该怎样解决这个问题呢?尽管寻找了解决方案,我无法找到其他的替代方法

点赞
用户11571961
用户11571961
vim.g.clipboard = {
  name = "win32yank-wsl",
  copy = {
    ["+"] = "win32yank.exe -i --crlf",
    ["*"] = "win32yank.exe -i --crlf"
  },
  paste = {
    ["+"] = "win32yank.exe -o --crlf",
    ["*"] = "win32yank.exe -o --crlf"
  },
  cache_enable = 0,
}

vim.g.clipboard 设置为以下内容:

  • name:设置为 "win32yank-wsl"
  • copy:用于复制内容。
    • ["+"]["*"] 设置为 "win32yank.exe -i --crlf",这将在 Windows 上启动 win32yank.exe 并对剪贴板中的文本进行格式化(添加回车和换行)后将其复制到 "+""*" 公共寄存器中。
  • paste:用于粘贴内容。
    • ["+"]["*"] 设置为 "win32yank.exe -o --crlf",这将在 Windows 上启动 win32yank.exe 并从 Windows 剪贴板中获取到格式化的文本(包括回车和换行)并将其粘贴到 Vim 编辑器中。
  • cache_enable:设置为 0,表示禁用剪贴板缓存。
2021-07-23 09:51:38