vim寄存器與複製粘貼的功能

來源:互聯網
上載者:User

最近用在ubuntu上搭建了個vim-ide, 但是一直不能與系統剪下板互動。。。。網上的攻略造讀了N個,都是"+y 和 "+p命令, 但是就是不起作用。。。。最後找到了原因,原來是我的vim不支援系統剪下板,暈死~~再次記錄下相關內容和解決方案

1. 寄存器介紹

vim共有9類寄存器:

  1. 無名(unnamed)寄存器:"",緩衝最後一次操作內容;
  2. 數字(numbered)寄存器:"0 - "9,緩衝最近操作內容,複製與刪除有別;
  3. 行內刪除(small delete)寄存器:"-,緩衝行內刪除內容;
  4. 具名(named)寄存器:"a - "z"A - "Z,指定時可用;
  5. 唯讀(read-only)寄存器:":, "., "%, "#,分別緩衝最近命令、最近插入文本、當前檔案名稱、當前交替檔案名稱;
  6. 運算式(expression)寄存器:"=,唯讀,用於執行運算式命令;
  7. 選擇及拖拽(selection and drop)寄存器:"*, "+, "~,存取GUI選擇文本,可用於與外部應用互動,使用前提為系統剪下板(clipboard)可用;
  8. 黑洞(black hole)寄存器:"_,不快取作業內容(乾淨刪除);
  9. 模式寄存器(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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.