天天看點

vim文本編輯器

文本編輯器不同于字處理器(word、wps),前者純文字,後者有多樣修飾符

vim 編輯器

   vi  Visual  Interface

   vim Vi  iMproved

   全屏編輯器,模式化編輯器

vim 模式

   編輯模式(指令模式)

   輸入模式

   末行模式

模式轉換

   編輯-->輸入

           i   在目前光标所在字元前面轉換為輸入模式

           a   在目前光标所在字元後面轉換為輸入模式

           o   在目前光标所行下一行轉換為輸入模式

           I   目前光标所在行行首轉換為輸入模式

           A   目前光标所在行尾首轉換為輸入模式

           O   目前光标所在行上一行轉換為輸入模式

   輸入-->編輯

       ESC

   編輯-->    末行

       :

  末行-->編輯

       ESC,ESC

1、打開檔案,迅速定位。

       #vim /path/to/somefile

           +12         打開後定位到12行

           +           打開後定位在最後一行

           +/PATTERN   打開檔案,定位至第一次被PATTERN比對到的行首

2、關閉檔案

       末行模式關閉檔案

           :q  退出

           :wq 儲存并退出

           :q! 不儲存退出

           :w  儲存

           :w! 強型儲存

           :wq -- > :x

       編輯模式下關閉檔案

           ZZ  儲存退出

3、移動光标(編輯模式)

       字元移動

           h   左

           l   右

           j   下

           k   上

       num+  

       單詞移動

           w   下一個單詞詞首

           e   跳至目前機關詞尾或下一個單詞詞尾

           b   跳至目前單詞詞首或下一個單詞詞首

       num+

       行内移動

           0   行首  (行首的第一個空白字元)

           ^   絕對行首(空白字元也算)

           $   絕對行尾

       行間跳轉

           #G  跳轉至第#行

           G   最後一行

           末行模式下 也可以跳轉

4、翻屏

           Ctrl+f  下一屏

           Ctrl+b  上一屏

           Ctrl+d  下半屏

           Ctrl+u  上半屏

5、删除單個字元

       x   删除光标所在處字元

       #x  删除光标所在處#字元

6、删除指令

       d$  删除目前光标到行尾

       d0  删除目前光标到行首

       3dw 删除目前光标所在處向後三個單詞

       3de next

       3db before

       dd  删除目前光标所在行

       #dd 删除目前光标和下行共#行

       末行模式下可以使用

           StartADD,EndADD

           :1,8d   删除第一行到第八行

           :.,+5d  删除目前行和向下的五行,一共删除6行。

           :.,100d 目前行到100行,一共删除100行。

           :.,$-2  删除目前光标所在行到倒數第二行。

7、粘貼指令  p

       p   如果删除或複制為整行内容,則粘貼至光标所在行下方,如果複制或删除的内容為非整行,則粘貼至光标所在字元的後面

       P   如果删除或複制為整行内容,則粘貼至光标所在行上方,如果複制或删除的内容為非整行,則粘貼至光标所在字元的前面

8、複制    y

       用法同d指令

       1,100

       yg

       yG

       y$

       y0

9、先删除内容,再轉換為輸入模式

       c   同d指令

10、替換單個字元   r

       R   替換模式    替換多個字元

11、撤銷編輯操作

       u   撤銷前一次操作

       #   撤銷最近#次操作

       撤銷最近一次撤銷操作 Ctrl+r

12、重複前一次編輯操作

       .

13、可視化模式

       v   按字元選取

       V   按矩形選取

14、查找

       /PATTERN    往下找

       ?PATTERN    往上找

           n       下一個

           N       上一個

15、查找并替換,用法跟sed一樣,用s

       ADDR1,ADDR2S@PATTERN@string@gi  全局替換,忽略大小寫

       1,$  可以簡寫為  %表示全文查找

16、編輯多個檔案

       vim file1 file2 file3   預設情況下隻打開第一個檔案

       在末行模式下輸入    :next   切換下一個檔案

                           :prev   切換上一個檔案

                           :last   切換至最後一個檔案

                           :first  切換至第一個檔案

                           :qa     全部退出

17、分屏顯示

       Ctrl+w,s    水準拆分視窗

       Ctrl+w,v    垂直拆分視窗

       在視窗間切換光标

       Ctrl+W,ARROW

       :wq         關閉所有視窗

18、分屏顯示多個檔案

       vim -o  file1 file2 file3   水準分割視窗

           -O                      垂直分割視窗

19、将目前檔案中部分内容另存為另外一個檔案

       末行模式下使用w指令

       :w

       :ADDR1,ADDR2w /path/to/somewhere    将某些内容儲存至某檔案中

20、将另一檔案内容填充在目前檔案中

       :r  /path/to/somefile

21、跟shell互動

       :! COMMAND

22、進階話題

       顯示或取消顯示行号

           :setnu

           :set nonu

       顯示忽略或區分字元大小寫

           :set ignorecase

           :set ic

           :set noic

       設定自動縮進

           :set autoindent

           :set ai

           :set noai

       查找到的文本高亮顯示

           :set hlsearch

           :set nohlsearch

       文法高亮

           :syntax on

           :syntax off

23、配置檔案

       /etc/vimrc      所有使用者生效

       ~/.vimrc        目前使用者生效

       vimtutor        學習向導

本文轉自 ftmoonfans  51CTO部落格,原文連結:http://blog.51cto.com/soulboy/1259050