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