Vim文檔編輯

>##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`
相關文章
相關標籤/搜索