使用neovim时使用“+y”方式将内容复制到系统剪贴板。如果neovim的窗口没有关闭,效果很好,如果我关闭neovim窗口,+寄存器的内容就会消失。 例如,如果我使用两个neovim,一个复制某个单词,另一个可以轻松粘贴,但是复制没有关闭窗口,那么粘贴一个的:reg将显示在“+行:剪贴板:错误:错误:目标字符串不可用” 这是在我将整个 /home cp 到 /mnt/home,然后 rm /home,然后重新启动后发生的,我发现了问题。
我尝试重新安装xclip和neovim,但没有成功。但是安装xsel(在我没有安装之前)并卸载xclip可以解决这个问题。但是,我的 tmux 将使用“xclip -in -selection剪贴板”,因此,我无法使用我的 tmux 复制到系统板。重新安装xclip,neovim会自动选择xclip,然后剪贴板又坏了。 我相信这个问题可以解决,希望有人可以解决这个问题,修复xclip问题,或者提供一些关于tmux set xsel的建议。
存在与
Error : target STRING not available
https://github.com/astrand/xclip/issues/38. 相关的开放 xclip 问题。
我建议从
xclip
切换到 xsel
。由于问题报告,Neovim 现在更喜欢 xsel
而不是 xclip
。请参阅拉取请求https://github.com/neovim/neovim/pull/9302。
重新安装xclip,neovim会自动选择xclip,然后剪贴板又坏了。
您应该检查您的 Neovim 版本。 Neovim
xsel
中引入了更喜欢 xclip
而不是 v0.9.0
的更改。
如果您无法升级到
v0.9.0
,那么您可以通过设置 g:clipboard
来覆盖剪贴板提供程序。请参阅 https://neovim.io/doc/user/provider.html#g%3Aclipboard 了解如何执行此操作的详细信息。
要配置自定义剪贴板工具,请将 g:clipboard 设置为字典。例如,此配置集成了 tmux 剪贴板:
let g:clipboard = {
\ 'name': 'myClipboard',
\ 'copy': {
\ '+': ['tmux', 'load-buffer', '-'],
\ '*': ['tmux', 'load-buffer', '-'],
\ },
\ 'paste': {
\ '+': ['tmux', 'save-buffer', '-'],
\ '*': ['tmux', 'save-buffer', '-'],
\ },
\ 'cache_enabled': 1,
\ }