2009-12-09 64 views
5

我使用Vim 7.2,在+ xterm中通過putty編譯+ xterm_clipboard。我已經將set clipboard=unnamed放在.vimrc中,並且根據我在其他線程中讀到的內容,這應該將所有的卸載/刪除放到系統剪貼板中。然而,當我試圖粘貼任何我已經推出的微軟應用程序,如記事本,它不工作。將從xterm運行的Vim 7.2中的文本複製到windows剪貼板

當我使用鼠標在vim中選擇文本時,它會自動複製到系統(MS剪貼板)。我想在使用像3yy這樣的鍵盤命令時具有相同的功能。

誰能告訴我我做錯了什麼?

+0

」是不明確的。您可以使用膩子ssh訪問Linux機器,不涉及xterm。或者你在Windows上運行X服務器,並使用putty的X11 ssh轉發進行轉發。然後你運行一個xterm。在這種情況下,做X11轉發的膩子並不重要。 – 2015-08-29 00:42:37

+0

此外,這屬於superuser.com – 2015-08-29 01:01:36

回答

2

嘗試

"+3yy 
"*3yy 

"+p 
"*p 
+0

你能告訴我如何在記事本中做「+ p」嗎?:) 如果我打開另一個vim會話並粘貼到那裏,你告訴我會工作 - 我知道。我想要的是將其複製到Windows剪貼板中的方法,然後將其粘貼到記事本中。 如果您認爲我有點不清楚,我會更加明確:我正在運行Win XP我的電腦,並使用膩子來獲得遠程計算機上的xterm,其中文件在vim中打開! – TCSGrad 2009-12-09 10:29:47

+0

在記事本中,你粘貼。我不確定它是如何工作在Windows上,但在unices它將任何東西「系統」的選擇,我猜想其中的一個也會在windows上完成,它還取決於Windows上的Xserver實現以及它如何處理選擇,我只能給你一個vim相關的p答案的藝術。 – 2009-12-09 11:08:12

+1

這就是我想傳達的:將文本拖放到系統緩衝區不會將它放入Windows剪貼板,因此我無法將其粘貼到任何位置。我想如果存在的話,答案會涉及設置一些putty/X配置,以確保vim有將文本放入Windows剪貼板的方法。 – TCSGrad 2009-12-09 14:06:45

1

如果您在本地運行VIM,然後要麼

"+p 
"*p 

會的工作,如黑客提及。由於您已將其粘貼到另一個框中,因此這些內容僅會將文本複製到您所粘貼的框的剪貼板中。

你需要的是複製文本,這僅僅是突出顯示要使用鼠標複製文本的膩子方法。雖然在vim中打了一針,但我通常使用ALT +突出顯示,用鼠標(用於塊選擇),因爲我通常有行號。

希望這會有所幫助!

+0

是的,我知道使用鼠標的作品 - 這在問題中提到。但使用vim的一點是,你不必依靠鼠標 - 總是有其他選擇(通常)。然而,在這種情況下,我想我有點太多的vim了,所以我想我必須尋找通過ssh共享剪貼板的方法! – TCSGrad 2009-12-11 18:09:42

+0

哦,對了,我錯過了那一點,對不起! 如果您的vim編譯時啓用了X11和xterm_clipboard功能,並且您在PuTTY中打開了X11轉發,那麼這可能會起作用。 – 2009-12-11 19:04:42

+0

這是'+ p等 – 2009-12-11 19:05:18

0

我想弄清楚如何讓PuTTY內的vim(不涉及xterm)與Windows剪貼板交互。

我目前的研究表明這是不可能的。 xterm具有剪貼板交互終端轉義序列,但是它們在xterm中被默認禁用。它們可能在PuTTY中完全沒有實現。這可能出於安全原因:您不希望遠程系統完全訪問您的剪貼板。

我不確定這是vim的xterm_clipboard功能應該使用的方式。到目前爲止,我的搜索只會讓人抱怨它沒有被啓用,或者談論如何讓vim啓用它,而不是如何實現它。我發現的最好的是this guide其中提到它,但沒有說任何可以將它與X選擇與X剪貼板對換的序列。 (是的,X11有一個選擇和一個單獨的剪貼板,複製的一些方法只設置一個或另一個。)直接


Vim的剪貼板支持會談X服務器。在Linux桌面上,在終端(我的情況下,Konsole)中使用vim :"*dd確實將行放入剪貼板。

隨着

(unset DISPLAY; strace -s256 -o /dev/pts/18 vim some_file.txt) 

Vim沒有一個X服務器交談。 (pts18是另一個終端窗口的tty。)我以爲vim可能使用xterm escape sequences來設置剪貼板,但它不會。整個區域沒有write(1, ...)系統調用,所以顯然不試圖使用轉義序列通過xterm將區域放入剪貼板。

我在Ubuntu 15.04上使用TERM=xterm在Konsole中運行此操作。我也嘗試了一個真正的xterm

哦,xterm默認禁用GetSelection/SetSelection。也許啓用這個,vim會嘗試使用它? IDK如果有幫助,但是,因爲PuTTY也必須支持它,這是不太可能的。 「在xterm通過膩子」中的「