2015-06-08 27 views
0

我已經拿出了有關在gvim上使用系統剪貼板的信息,並指出在Windows和gvim應用程序之間共享「+」和「*」寄存器。當從Windows複製到gvim時,這些工作正常。當我從窗口複製文本時,兩個寄存器都被更新。將文本從gvim編輯器複製到系統剪貼板每個會話只能使用一次

但是,我面臨一個奇怪的問題,我第一次從gvim複製文本到「+」註冊它更新Windows系統剪貼板。當我在同一個gvim會話期間嘗試複製另一段文本時,它在gvim的「+」寄存器中更新,但複製的文本未反映在我的Windows系統剪貼板中。相反,最初複製的文本仍然保留。換句話說,在gvim會話期間,windows系統剪貼板值被鎖定到第一個複製的文本,並且此後從未更新過。

此問題也出現在「*」寄存器中。猛拉只是第一次。我懷疑這兩個寄存器之間有某種衝突。

有沒有人在gvim中遇到過問題,其中「+」或「*」寄存器被更新,但是粘貼在窗口中的文本與第一個被抽出的文本相同?當我在gvim中「+」註冊時,如何查看系統剪貼板是否已更新?

+0

這不是一個解決方案,但爲了幫助您找出發生了什麼,您可以使用':reg +'和':reg *'命令來獲取緩衝區的內容。這可能是第一步,看看它是不是更新的緩衝區或不使用正確的緩衝區值的窗口。 – statox

+0

@statox「當我在同一個gvim會話中嘗試複製第二段文本時,它在gvim的」+「寄存器中更新,但複製的文本未反映在我的Windows系統剪貼板中。什麼實際上會讓我的問題更加明朗是識別哪些寄存器與Windows系統剪貼板相匹配的一種方法。基於mMontu的回答,我懷疑它是否與x11剪貼板有關,但我沒有得到清晰的圖片。 – Ronyjoe

+0

我可能是錯的,但我認爲x11在你的情況下是不相關的,因爲它是unix系統的圖形服務器,但它不存在於ms-windows(據我所知)。你可以試着把這個放在你的_vimrc中'set clipboard = unnamed'這樣unamed寄存器鏈接到你的系統剪貼板,這意味着你不必在''''前面​​加''*'來存取剪貼板。 (這不是我喜歡的解決方案,因爲unamed寄存器是非常靈活的,但這可能值得一試)。另外,因爲我從來沒有面對這個問題,不能再現它,我想不出其他解決方案。 – statox

回答

0

我的剪貼板在ms-windows下的gVim上正常工作 - 您可能遇到'clipboard'選項的問題。 Vim FAQ 36-10名單上docummentation幾個相關科目:

'clipboard' 
x11-selection 
clipboard 
'go-a' 
'mouse' 
xterm-copy-paste 
09.3 

最後一個項目(09.3)參考用戶手冊,並將其描述有可能幫助你瞭解在其他參考明細科目。

除了這些,你可能想檢查:help gui-clipboard

相關問題