linux與windows共享剪貼板(clipboard)

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

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

可是做爲一種hack行爲或者不用鼠標實現複製功能,就須要這種方法了。vim

 

組合:windows

putty+tmux+vim+mobaiterm/xserverssh

若是熟悉的朋友應該早已經用習慣了前面三個軟件,號稱三劍客。編輯器

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

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

 

配置:命令行

putty:server

配置以下圖所示的,打開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

相關文章
相關標籤/搜索