1. 程式人生 > >VIM系統複製貼上

VIM系統複製貼上

1 需求

系統複製貼上主要是滿足下面兩個需求。

  • 在多個物件之間複製貼上
    • vim視窗與vim視窗之間
    • 外部介面與vim視窗之間
  • 不變複製貼上。從外部介面複製貼上到vim視窗時,文字不發生任何變化。

2 vim暫存器

2.1 暫存器介紹

不得不介紹以下vim暫存器,它是複製貼上的中間媒介。

在vim中通過以下命令能檢視所有暫存器:

    :reg

vim包含以下暫存器:

暫存器名稱 編號
匿名暫存器 ""
編號暫存器 "0 到 "9
小刪除暫存器 "-
26個命名暫存器 "a 到 "z
3個只讀暫存器 ": 和 ". 和 "%
Buffer交替檔案暫存器 "#
表示式暫存器 "=
選區和拖放暫存器 "* 和 "+ 和 "~
黑洞暫存器 "_
搜尋模式暫存器 "/

2.2 複製貼上過程

從A物件到B物件的複製貼上,其邏輯過程是:

  • 首先,將資料或文字從A物件複製到暫存器;
  • 然後,將資料或文字從暫存器複製到B物件。

注意:系統複製貼上使用+暫存器。

2.3 "暫存器的啟用

通過命令檢視"寄存其是否啟用。

    :reg

如果沒看到+暫存器,說明未啟用。這是需要安裝vim-gtk。

    sudo apt-get install vim-gtk

安裝完畢以後,再次檢測+暫存器,這時會發現已啟用。

3 複製貼上操作

3.1 vim視窗與vim視窗之間

步驟如下:

  • 選擇文字,使用"+y複製文字;
  • 定位到目的視窗然後,使用"+p貼上文字。

3.2 從vim視窗到外部介面

步驟如下:

  • 選擇文字,使用"+y複製文字;
  • 定位到外部介面後,使用右鍵貼上或者外部軟體自身的快捷鍵完成貼上。

3.3 從外部介面到vim視窗

對於少量文字,步驟如下:

  • 在外部介面中,選擇複製文字;
  • 進入vim視窗定位位置,使用"+p貼上文字。

3.4 從外部介面到vim視窗(不變貼上)

這種情況一般是複製大量文字,要求在貼上過程中文字保證不變。
步驟如下:

  • 在外部介面中,選擇複製文字;
  • 進入vim視窗定位位置,輸入命令:
    :set paste

其目的是取消自動縮排等自動操作,避免文字發生不在期望中的變化。

  • 使用"+p貼上文字。
  • 貼上完成後,輸入命令:
    :set nopaste

其目的是回覆自動縮排的自動操作。