標籤:vim 編輯器
一、vim重複命令1.重複執行上次命令
在普通模式下.(小數點)表示重複上一次的命令操作
拷貝測試檔案到本地目錄
$ cp /etc/protocols .
開啟檔案進行編輯
$ vim protocols
普通模式下輸入x,刪除第一個字元,輸入.(小數點)會再次刪除一個字元,除此之外也可以重複dd的刪除操作
2.執行指定次數相同的命令
進入普通模式輸入N<command>,N表示重複後面的次數,下面來練習以下:
開啟檔案檔案進行編輯
$ vim protocols
下面你可以依次進行如下操作練習:
- 輸入
10x,刪除10個連續字元
- 輸入
3dd,將會刪除3行文本
在普通模式下,你還可以使用dw或者daw(delete a word)刪除一個單詞,所以你可以很容易的聯想到dnw(n替換為相應數字)表示刪除n個單詞
二、遊標的快速跳轉
普通模式下,下列命令可以讓游標快速調轉到指定位置,我們分別討論快速實現行間跳轉和行內跳轉
1.行間跳轉
| 命令 |
說明 |
nG(n Shift+g) |
遊標移動到第 n 行(如果預設沒有顯示行號,請先進入命令模式,輸入:set nu以顯示行號) |
gg |
遊標移動到到第一行 |
G(Shift+g) |
到最後一行 |
還是來練習一下吧:
使用vim開啟練習文檔
$ vim protocols
依次進行如下操作練習:
- 快速跳轉到第9行,然後將其該行刪除
- 回到第一行,向下刪除8行
- 跳轉到文檔末,然後刪除該行
小技巧:你在完成依次跳轉後,可以使用Ctrl+o快速回到上一次(跳轉前)游標所在位置,這個技巧很實用,比如當你在寫代碼時,忽然想起有個bug,需要修改,這時候你跳過去改好了,只需要按下Ctrl+o就可以回到你之前的位置。vim中會用很多類似的小技巧就等著你去發掘。
2.行內跳轉
普通模式下使用下列命令在行內按照單詞為單位進行跳轉
| 命令 |
說明 |
w |
到下一個單詞的開頭 |
e |
到下一個單詞的結尾 |
b |
到前一個單詞的開頭 |
ge |
到前一個單詞的結尾 |
0或^ |
到行頭 |
$ |
到行尾 |
f<字母> |
向後搜尋<字母>並跳轉到第一個匹配的位置(非常實用) |
F<字母> |
向前搜尋<字母>並跳轉到第一個匹配的位置 |
t<字母> |
向後搜尋<字母>並跳轉到第一個匹配位置之前的一個字母(不常用) |
T<字母> |
向前搜尋<字母>並跳轉到第一個匹配位置之前的一個字母(不常用) |
依次進行如下操作練習:
- 在普通模式下,任意跳轉到一行,使用
w跳轉到一個單詞的開頭,然後使用dw刪除這個單詞
- 在普通模式下,使用
e跳轉到一個單詞的結尾,並使用~將遊標所在字母變成大寫或小寫
三、複製粘貼和剪下1.複製及粘貼文本
普通模式中使用y複製
- 普通模式中,
yy複製遊標所在的整行(3yy表示複製3行)
- 普通模式中,
y^ 複製至行首,或y0。不含游標所在處字元。
- 普通模式中,
y$ 複製至行尾。含光所在處字元。
- 普通模式中,
yw 複製一個單詞。
- 普通模式中,
y2w 複製兩個單詞。
- 普通模式中,
yG 複製至文本末。
- 普通模式中,
y1G 複製至文本開頭。
普通模式中使用p粘貼
- 普通模式中,
p(小寫)代表粘貼至游標後(下)
- 普通模式中,
P(大寫)代表粘貼至游標前(上)
開啟檔案進入普通模式練習上述命令,這會兒你就可以隨意yy了,一 一+
$ vim protocols
2.剪下及粘貼
其實前面講得dd刪除命令就是剪下,你每次dd刪除文檔內容後,便可以使用p來粘貼,也這一點可以讓我們實現一個很爽快的功能——交換上下行:
ddp,就這麼簡單,即實現了快速交換游標所在行與它下面的行
操作:
Vim 編輯器 初學(2)