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

其目的是回復自動縮進的自動操作。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM