![vim/gvim 无法将 X11 剪贴板放入寄存器“+ 或”* 中?](https://linux22.com/image/36267/vim%2Fgvim%20%E6%97%A0%E6%B3%95%E5%B0%86%20X11%20%E5%89%AA%E8%B4%B4%E6%9D%BF%E6%94%BE%E5%85%A5%E5%AF%84%E5%AD%98%E5%99%A8%E2%80%9C%2B%20%E6%88%96%E2%80%9D*%20%E4%B8%AD%EF%BC%9F.png)
因为缺乏标准的安全性vino服务器,我改用x11vnc在我的 linux(带有 Xubuntu 14.04)盒子上 SSVNC在窗户一侧。
使用 vino,从 Windows 剪切并粘贴到 Linux 和 Windows,在两个方向上都是不稳定的(1),但当它起作用时,它对每个程序都起作用;我可以毫无问题地使用vim
寄存器。"+
我跑(2)
autocutsel -fork
通常,“中键单击”和 ctrl-c/v 选择是相同的。
现在我使用 x11vnc (用:调用x11vnc -forever -repeat -safer -usepw -ssl -autoport 6000
)来建立安全的加密连接,出现了一个问题:
我可以在 Windows 上复制并粘贴到远程 Linux 终端、libreoffice 等,没有任何问题,双向。
在
vim
, 或 中gvim
,任何尝试粘贴"+p
或"*p
说E353: Nothing in register *
再次在
vim
or中gvim
,相反的方式确实有效:如果我"+yy
那么我可以将内容粘贴到 Windows 端。
有人对这个问题有任何线索吗?奇怪的是,粘贴在我检查过的任何地方都有效,但在vim
......
Package Installed Previous Now State
=======================-===============-===============-===============-=====
vim 2:7.4.052-1ubuntu3 2:7.4.052-1ubuntu3 2:7.4.052-1ubuntu3 install
vim-gnome 2:7.4.052-1ubuntu3 2:7.4.052-1ubuntu3 2:7.4.052-1ubuntu3 install
脚注:
(1) 现在找不到bug --- 已报告。一段时间后它停止工作。
(2)我尝试过有和没有。没有变化。
答案1
由于我不知道您使用的是哪个 x11vnc(我有三个不同的版本,还有其他版本),这是解决此特定问题的教程。
首先是了解所涉及的剪贴板。在大多数情况下,涉及其中四个。 (如果使用剪贴板管理工具,还可以实现更多功能。)X11 定义了三种剪贴板:主剪贴板、辅助剪贴板和剪贴板。次要很少使用(并且几乎肯定不是您的问题),因此我们将忽略它。使用中键单击进行粘贴的应用程序(xterm 等)通常使用主剪贴板。执行 Windows 样式粘贴(单击编辑、单击粘贴或 Control V)的应用程序有时仅使用剪贴板剪贴板。有些应用程序同时执行这两种操作(Google Chrome 通过中键单击从主窗口粘贴,并使用 Control V 从剪贴板粘贴)。接下来是 VNC 剪贴板(只有一个),还有 Windows 剪贴板。 (如果您使用的是在 X11 上运行的 vnc 查看器,事情会变得更加复杂,但考虑一下这一点后就会有意义。)VNC 剪贴板的特殊之处在于,它会跟踪其他剪贴板的各种更新,以使它们保持最新状态。日期。如果您忽略主剪贴板,这相当简单,因为最近更新的剪贴板将复制到所有其他剪贴板。挑战在于主剪贴板的所需行为没有明确定义。我见过各种 vnc 实现的以下行为:
- 忽略主要内容,仅使用剪贴板。
- 忽略剪贴板,仅使用主剪贴板。
- 使用最新的 unix 到 windows 副本,复制到 Windows 到 unix 副本。
- 尽量聪明一些:仅使用主设备,直到使用剪贴板,然后才使用剪贴板。
- 尝试变得更聪明:使用主值直到剪贴板发生更改,然后忽略主值直到 Windows 发生更改,然后使用下一个更改,在使用剪贴板后再次忽略主值。
- 尝试变得更聪明。 (我从来不知道他们想用这个做什么,但通常它做了正确的事情)
接下来是工具。我认为有两个工具对于调试剪贴板问题至关重要:文本编辑器(记事本可以很好地解决此问题)和 xclip。 Windows 剪贴板查看器很好,但不是必需的。
现在的过程是:从要排除故障的组中的每个应用程序中,选择并复制一些文本,检查所有三个可访问剪贴板的状态。 (vnc 剪贴板很难直接查看,也没有直接用处,因为它通常不存储数据,只存储元数据。)回答这些问题:每个应用程序使用哪个剪贴板?它们的使用顺序是什么?
希望这些信息足以帮助您入门。