vim/gvim 無法將 X11 剪貼簿放入暫存器「+ 或」* 中?

vim/gvim 無法將 X11 剪貼簿放入暫存器「+ 或」* 中?

因為缺乏標準的安全性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)來建立安全的加密連接,出現了一個問題:

  1. 我可以在 Windows 上複製並貼上到遠端 Linux 終端機、libreoffice 等,沒有任何問題,雙向。

  2. vim, 或 中gvim,任何嘗試貼上"+p"*pE353: Nothing in register *

  3. 再次在vimor中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 實現的以下行為:

  1. 忽略主要內容,僅使用剪貼簿。
  2. 忽略剪貼簿,僅使用主剪貼簿。
  3. 使用最新的 unix 到 windows 副本,複製到 Windows 到 unix 副本。
  4. 盡量聰明:只使用主機設備,直到使用剪貼板,然後才使用剪貼簿。
  5. 嘗試變得更聰明:使用主項直到剪貼簿發生更改,然後忽略主項直到 Windows 發生更改,然後使用下一個更改,在使用剪貼簿後再次忽略主項。
  6. 試著變得更聰明。 (我從來不知道他們想用這個做什麼,但通常它做了正確的事情)

接下來是工具。我認為有兩個工具對於調試剪貼簿問題至關重要:文字編輯器(記事本可以很好地解決此問題)和 xclip。 Windows 剪貼簿檢視器很好,但不是必要的。

現在的過程是:從要排除故障的群組中的每個應用程式中,選擇並複製一些文本,檢查所有三個可存取剪貼簿的狀態。 (vnc 剪貼簿很難直接查看,也沒有直接用處,因為它通常不儲存數據,只儲存元數據。)回答這些問題:每個應用程式使用哪個剪貼簿?它們的使用順序是什麼?

希望這些資訊足以幫助您入門。

相關內容