標籤: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)