最近用在ubuntu上搭建了個vim-ide, 但是一直不能與系統剪下板互動。。。。網上的攻略造讀了N個,都是"+y 和 "+p命令, 但是就是不起作用。。。。最後找到了原因,原來是我的vim不支援系統剪下板,暈死~~再次記錄下相關內容和解決方案
1. 寄存器介紹
vim共有9類寄存器:
- 無名(unnamed)寄存器:
""
,緩衝最後一次操作內容;
- 數字(numbered)寄存器:
"0 - "9
,緩衝最近操作內容,複製與刪除有別;
- 行內刪除(small delete)寄存器:
"-
,緩衝行內刪除內容;
- 具名(named)寄存器:
"a - "z
或"A - "Z
,指定時可用;
- 唯讀(read-only)寄存器:
":, "., "%, "#
,分別緩衝最近命令、最近插入文本、當前檔案名稱、當前交替檔案名稱;
- 運算式(expression)寄存器:
"=
,唯讀,用於執行運算式命令;
- 選擇及拖拽(selection and drop)寄存器:
"*, "+, "~
,存取GUI選擇文本,可用於與外部應用互動,使用前提為系統剪下板(clipboard)可用;
- 黑洞(black hole)寄存器:
"_
,不快取作業內容(乾淨刪除);
- 模式寄存器(last search pattern):
"/
,緩衝最近搜尋模式。
上面的說明為簡要概述,並不完全準確,詳細說明須參考手冊:
:help copy-move
無圖形介面的vi或vim下可用的寄存器只包括{a-zA-Z0-9.%#:-"}
,顯然,這裡面沒有包含上面提到的"*
或者"+
等選擇及拖拽存器。
由此可見,實現vim與外部應用相互複製、粘貼的關鍵在於系統剪下板對於vim是否可用。
2. 查看vim是否支援系統剪下板與相關解決方案
查看vim剪下板是否可用的命令為
vim –version
下面是我的系統下面的結果(我只保留了xterm_clipboard
一項)
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Apr 16 2010 12:47:47)包含補丁: 1-330編譯者 buildd@巨型版本 無圖形介面。 可使用(+)與不可使用(-)的功能:-xterm_clipboard對於非GUI版本的vim,剪下板是停用,解決方案很簡單,安裝一下就是了
sudo
apt-get
install
gvim
下面是安裝之後的結果:
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Apr 16 2010 12:40:58)包含補丁: 1-330編譯者 buildd@巨型版本 帶 GTK2-GNOME 圖形介面。可使用(+)與不可使用(-)的功能:+xterm_clipboard
PS: 安裝gvim過程中,系統會提示
軟體包 gvim 是一個由下面的軟體包提供的虛擬軟體包: vim-gtk 2:7.3.429-2ubuntu2.1 vim-athena 2:7.3.429-2ubuntu2.1 vim-gnome 2:7.3.429-2ubuntu2.1請您明確地選擇一個來進行安裝。
如果是ubuntu,就選擇vim-gnome ,即
sudo apt-get install vim-gnome
參考網站:http://www.yulefox.com/?p=1487