linux與windows共享剪貼板(clipboard)


linux與windows共享剪貼板(clipboard)的方法

先說兩句廢話,其實linux和windows之間不需要共享剪貼板,直接在putty中,按住SHIFT+鼠標選擇就可以了。

但是作為一種hack行為或者不用鼠標實現復制功能,就需要這種方法了。

 

組合:

putty+tmux+vim+mobaiterm/xserver

如果熟悉的朋友應該早已經用習慣了前面三個軟件,號稱三劍客。

后面的兩個軟件只是使用其中的一部分功能,即x window的剪貼板。

xserver是指windows這邊的顯示器,client是linux那邊的程序向server發送圖像數據,請求在xserver這里顯示它的窗口,而不是在它原來的那個窗口顯示。

 

配置:

putty:

配置如下圖所示的,打開Enable X11forwarding,並且填入X display location的值:127.0.0.1:0

這里的127.0.0.1是指xserver的ip地址,:0是指那個顯示窗口,在x window概念中,多用戶系統,所以可以顯示多個不同的窗口,:0一般是默認窗口。

如果是使用cygwin或者其它一些ssh-agent連接,可以添加ssh -X user@linux_ip_address方式添加X11forwarding方法。

圖1

 

tmux:

在tmux的配置文件.tmux.conf中,要添加下面的代碼:

#Copy tmux paste buffer to CLIPBOARD(CLIPBOARD selection integration)
#must install xclip and xsel
bind C-c run "tmux save-buffer - | xclip -i -selection clipboard"
#Copy CLIPBOARD to tmux paste buffer and paste tmux paste buffer
bind C-v run "tmux set-buffer -- \"$(xclip -o -selection clipboard)\"; tmux paste-buffer"

它的意思是,當執行ctrl+a,ctrl+c時,把tmux中的buffer添加到linux系統的剪貼板中,ctrl+a,ctrl+v則是輸出linux系統的剪貼板內容。

 

vim:

在vim中,添加

set guioptions+=aA       " get some autoselect interaction with the system clipboard

這個是應用在vim gui中的,命令行中的vim無效

 

mobaiterm/xserver

在這里,mobaiterm和xserver中的xming是一個功能,就是它們提供了,把linux的剪貼板放到windows系統的剪貼板中,這只是一個小的功能,其實xserver還可以做很多其它的事情,我嘗試過,是一種特別的概念。

 

使用:

現在就需要的是在tmux中,用tmux復制一部分文檔,ctrl+[進入選中狀態,然后按空格<space>,使用vim的上下左右移動光標選擇文字,所使用<Enter>復制到tmux中,然后按Ctrl+a,ctrl+c復制到系統中的剪貼板clipboard中,然后在windows下的編輯器中,粘貼,就可以粘貼到剛剛tmux選擇的文字。

如果想讓vim中復制的內容放到windows中,使用"+y把內容放到系統的剪貼板中,然后就可以復制到windows中了。

 

參考(擴展閱讀):

How to copy from tmux running in putty to windows clipbard: http://stackoverflow.com/questions/17255031/how-to-copy-from-tmux-running-in-putty-to-windows-clipbard

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM