>##1、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個單詞 |
|
|
|
##2、遊標的快速跳轉 |
|
|
|
普通模式下,下列命令可讓光標快速調轉到指定位置,咱們分別討論快速實現**行間**跳轉和**行內**跳轉 |
|
|
|
###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`跳轉到一個單詞的結尾,並使用`~`將遊標所在字母變成大寫或小寫 |
|
|
|
![](https://dn-anything-about-doc.qbox.me/md041717vim3+.gif) |
|
|
|
##3、複製粘貼和剪切 |
|
|
|
###1.複製及粘貼文本 |
|
|
|
- 普通模式中使用`y`複製 |
|
- 普通模式中,`yy`複製遊標所在的整行(`3yy`表示複製3行) |
|
- 普通模式中,`y^` 複製至行首,或`y0`。不含光標所在處字符。 |
|
- 普通模式中,`y$` 複製至行尾。含光所在處字符。 |
|
- 普通模式中,`yw` 複製一個單詞。 |
|
- 普通模式中,`y2w` 複製兩個單詞。 |
|
- 普通模式中,`yG` 複製至文本末。 |
|
- 普通模式中,`y1G` 複製至文本開頭。 |
|
|
|
- 普通模式中使用`p`粘貼 |
|
- 普通模式中,`p`(小寫)表明粘貼至光標後(下) |
|
- 普通模式中,`P`(大寫)表明粘貼至光標前(上) |
|
|
|
打開文件進入普通模式練習上述命令,這會兒你就能夠隨意`yy`了,一 一+ |
|
|
|
``` |
|
$ vim protocols |
|
``` |
|
|
|
### 2.剪切及粘貼 |
|
|
|
其實前面講得`dd`刪除命令就是剪切,你每次`dd`刪除文檔內容後,即可以使用`p`來粘貼,也這一點可讓咱們實現一個很爽快的功能——交換上下行: |
|
|
|
`ddp`,就這麼簡單,即實現了快速交換光標所在行與它下面的行 |
|
|
|
![](https://dn-anything-about-doc.qbox.me/md041717vim4+.gif) |
|
|
|
## 4、總結 |
|
|
|
這一小節你應該掌握了幾個常常使用到的操做,包括快速行間移動和快速行內移動,以及剪切和複製粘貼等操做,但願你可以多加練習熟練掌握,一旦當你熟練了這些操做將會極大地提升你的工做效率。 |
|
|
|
## 5、思考練習 |
|
|
|
咱們前面學過的那些命令、操做,除了提到過的還有哪些支持前面加上數字實現重複屢次操做,如`3dd` |