vim複製和貼上內容
阿新 • • 發佈:2018-11-10
vi 編輯器可以在編輯模式和命令模式下複製文字。常用的複製文字的命令如表 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 中。