1. 程式人生 > >vim復制和粘貼內容

vim復制和粘貼內容

void include scan 語句 code 刪除 box can please

vi 編輯器可以在編輯模式和命令模式下復制文本。常用的復制文本的命令如表 1 所示。

表1:命令模式下常用的文本復制命令
文本復制命令 命令的意義 文本復制命令 命令的意義
yy 復制光標所在的整行 y{ 復制到上一段的開始
Y 或 y$ 復制從光標所在處開始到行尾的內容 y} 復制到下一段的開始
y0 復制從光標前一個字符開始到行首的內容 y<CR> 復制包括當前行在內的兩行內容
y( 復制到上一句的開始 yw 復制一個單詞
y) 復制到下一句的開始
  • yy 命令:復制光標所在的整行。在 yy 前可加一個數字 n,表示復制當前行及其後 n-1 行的內容,例如:復制此行和以下2行的內容,輸入3yy
  • Y 或 y$ 命令:兩命令功能一樣,都是復制從光標所在處開始到行尾的內容。
  • yw 命令:復制一個單詞。若光標處在某個詞的中間,則從光標所在位置開始復制至詞尾。同 yy 命令一樣,可在 yw 之前加一個數字 n,表示復制 n 個指定的單詞。
  • y) 命令:復制到下一句幵始的所有字符。
  • y} 命令:復制到下一段開始的所有字符。
  • y<CR> 命令(<CR> 表示回車):復制包括當前行在內的兩行內容。


與文本復制有關的命令分為兩類。

1. 文本粘貼命令

  • p 命令:粘貼命令,粘貼當前緩沖區中的內容。

2. 文本選擇命令

  • v 命令:在命令模式下進行文本選擇。在需要選擇的文本的起始處按下 v 鍵進入塊選擇模式,然後移動光標到塊尾處。這之間的部分被高亮顯示,表示被選中。
  • 選中後,再按下v,可以復制,然後到需要粘貼的地方,按下p則可以粘貼。
  • V 命令:在命令模式下按行進行文本選擇。在需要選擇的文本的第一行按下 V 鍵,然後移動光標到塊的最後一行。這之間的所有行被高亮顯示,表示被選中。


vi 編輯器支持最近編輯內容的恢復,但是由於 vi 編輯器使用寄存器存放最近內容,所以恢復能力有限。vi 編輯器使用 9 個寄存器,可以存放已經刪除的 9 個最近內容,這些內容可以被恢復。下面實例簡述了這種機制。

#include <stdio.h>
int main(void)
{
int i, j;
printf("please input a number: \n");
scanf(" % d ", &i);
j = i + 100;
printf("\nj = %d\n", j);
return 0;
}

現在對其進行如下操作。

1) 將光標移至文件第 1 行,輸入 dd 命令,此時文件第 1 行的內容被刪除,且被刪除的內容保存在寄存器 1 中。這行的內容是#indude <stdio.h>,被保存在寄存器 1 中。

2) 將光標下移至第 1 個 printf 語句行,輸入 dd 命令將該行刪除,此時寄存器 1 中將保存剛剛被刪除的內容。也就是說#indude <stdio.h>被保存到了寄存器 2 中,而printf("please input a number: \n");這一行的內容被保存在了寄存器 1 中。

vim復制和粘貼內容