當前位置:
首頁 > 知識 > Vim編輯器使用方法詳解

Vim編輯器使用方法詳解

轉載於https://www.cnblogs.com/libaoliang/articles/6961676.html

vi編輯器是所有Unix及Linux系統下標準的編輯器,他就相當於windows系統中的記事本一樣,它的強大不遜色於任何最新的文本編輯器。他是我們使用Linux系統不能缺少的工具。由於對Unix及linux系統的任何版本,vi編輯器是完全相同的,學會它後,您將在Linux的世界裡暢行無阻。

vim 具有程序編輯的能力,可以以字體顏色辨別語法的正確性,方便程序設計;

vim可以當作vi的升級版本,他可以用多種顏色的方式來顯示一些特殊的信息。

vim會依據文件擴展名或者是文件內的開頭信息, 判斷該文件的內容而自動的執行該程序的語法判斷式,再以顏色來顯示程序代碼與一般信息。

vim裡面加入了很多額外的功能,例如支持正則表達式的搜索、多文件編輯、塊複製等等。 這對於我們在Linux上進行一些配置文件的修改工作時是很棒的功能。

1.vi/vim是什麼?

vi是Visual Interface的縮寫,即 可視化介面

②vim是vi iMprove的縮寫,即 vi的增強版(具有語法著色功能)

2.vim模式有哪些?如何切換?

Vim編輯器使用方法詳解

①三種模式

   命令模式(默認):剛進入vim的時候,默認就是 命令模式,可以複製行,刪除行等。
   輸入模式:可以輸入內容。
   末行模式:在最下邊,除編輯模式,可以輸入諸多管理員命令

②模式轉換

   命令模式→輸入模式:
     i:在當前游標所在字元的前面,轉為輸入模式
     I:在當前游標所在行的行首轉換為輸入模式
     a:在當前游標所在字元的後面,轉為輸入模式
     A:在游標所在行的行尾,轉換為輸入模式
     o:在當前游標所在行的下方,新建一行,並轉為輸入模式
     O:在當前游標所在行的上方,新建一行,並轉為輸入模式
     s:刪除游標所在字元
     r:替換游標處字元
   輸入模式→命令模式
     ESC鍵
   命令模式→末行模式
     輸入:即可 轉為末行模式

Vim編輯器使用方法詳解

末行模式-操作

   末行模式→命令模式
     ESC鍵    

3.使用vim如何打開文件?

① vim /path/to/somefile :vim後跟文件路徑及文件名 ,如果文件存在,則打開編輯文件窗口,如果文件不存在,則創建文件

 [root@libaoliang ~]# vim /etc/inittab

② vim + # :打開文件,並定位到第#行,#代表數字

[root@libaoliang ~]# vim +3 /etc/inittab

Vim編輯器使用方法詳解

③ vim + :打開文件,定位到最後一行

[root@libaoliang ~]# vim + /etc/inittab

④ vim +/PATTERN:打開文件,定位到第一次被PATTERN匹配到的行的行首

[root@libaoliang ~]# vim +/start /etc/inittab

Vim編輯器使用方法詳解

4.關閉文件

末行模式下:

   w:保存
   q:退出
   wq 或 x:保存退出,wq 和 x 都是保存退出
   q!:強制退出
   w!:強制保存,管理員才有許可權

命令模式下:

   ZZ:保存並退出

5.移動游標

命令模式下:

   ①逐字元移動
     h:向左
     l:向右
     j:向下
     k:向上
     #h:移動#個字元
   ②以單詞為單位移動
     w:移到下一個單詞的詞首
     e:跳至當前或下一個單詞的詞尾
     b:跳至當前或上一個單詞的詞首
     #w:表示移動#個單詞
   ③行內跳轉
     0:絕對行首
     ^:行首第一個非空白字元
     $:絕對行尾
   ④行間跳轉
     #G:跳轉到第#行
     G:最後一行

末行模式下:

   ①行間跳轉
      直接輸入行號 回車即可

6.翻屏

  命令模式下
    Ctrl+f:向下翻一屏
    Ctrl+b:向上翻一屏
    Ctrl+d:向下翻半屏
    Ctrl+u:向上翻半屏 

7.刪除

命令模式下

    ①刪除單個字元:
      x:刪除游標所在處單個字元
      #x:刪除游標所在處及向後共#個字元
    ②刪除命令:d
      d命令跟 跳轉命令組合使用 如:dw 表示刪除游標所在位置到下一個單詞詞首所有字元
      #dw,#de,#db :#dw表示 刪除當前游標所在處及向後第#個單詞詞首所有字元
      dd:刪除當前游標所在行
      #dd:刪除包含當前游標所在行內的#行

末行模式下:

Vim編輯器使用方法詳解

位置符號


末行模式下,刪除命令d可以跟以上 位置符號 相結合使用   
     StartADD,EndADDd:刪除StartADD到EndADDd位置的所有行,例如:10,15d:刪除10到15行所有內容
     .d:刪除游標所在行,同dd

8.粘貼命令: p

  p(小寫p):如果刪除的或複製的為整行內容,則粘貼到游標所在行的下方,如果複製或刪除的內容為非整行,則粘貼至游標所在字元的後面
  P(大寫P):如果刪除的或複製的為整行內容,則粘貼到游標所在行的上方,如果複製或刪除的內容為非整行,則粘貼至游標所在字元的前面

9.複製命令:y

 用法同d命令  
  命令模式
    yy:複製當前行
    yw (y#w,ye,y#e,yb,y#b):複製游標當前位置到下個單詞詞首內容.#代表數字
    y#G:複製當前位置當#行處的所有內容
  末行模式
    StartADD,EndADDy:複製StartADD到EndADDd位置的所有行,例如:10,15d:複製10到15行所有內容
    +3y:複製當前位置向下3行

10.修改c:先刪除內容,在轉換為輸入模式

   c:用法同d

11.替換:r

  r:單字元替換,會替換游標選中字元
  R:替換模式,可以做字元替換。

12.撤銷編輯操作:u(undo)

  u:撤銷前一次編輯操作
  #u:直接撤銷#次操作
  Ctrl+r:撤銷最近一次撤銷操作

13.重複前一次編輯操作.

  .:比如 上一次dd刪除了一行,現在輸入.就可以重複dd刪除行的操作

14.可視化模式:

  命令模式: 
    v:按字元選取,鍵盤控制游標 划過 的區域被選取
    V:按矩形選取,鍵盤控制游標划過的行被選取

15.查找:

  末行模式: 
    /PATTERN:從當前位置向後查找
    ?PATTERN:從當前位置向前查找
    n:向下查找
    N:向上查找

16.查找並替換

  在末行模式下使用s命令
    ADDR1,ADDR2s/PATTERN/String/gi
    ADDR1,ADDR2 表示地址;比如1,$表示全文 (%也表示全文)
    g:表示全局替換
    i:表示忽略大小寫

17.vim打開多個文件

vim FILE1 FILE2 FILE3
 末行模式下
  :next 切換到下一個文件
  :prev 切換到上一個文件
  :last 切換到最後一個文件
  :first 切換到第一個文件
退出多個文件
  qa:全部退出

18.分屏顯示一個文件

vim打開文件後
  Ctrl+w,s:水平拆分窗口
  Ctrl+w,v:垂直拆分窗口
在窗口間切換游標
Ctrl+w,ARROW  
  比如 Ctrl+w,→:(使用箭頭方向鍵)游標切換到右邊的窗口
  比如 Ctrl+w,h(左), j(下), k(上), l(右) 也可以切換窗口
在末行模式下
:qa退出所有窗口

19.分窗口編輯多個文件

vim -o:水平分割顯示
vim -O:垂直分割顯示
例如:vim -o /etc/rc.sysinit /etc/inittab :水平分割顯示/etc/rc.sysinit和/etc/inittab 這2個文件

20.將當前文件中部分內容保存為另外一個文件

末行模式下
w:表示保存當前文件
w /path/to/somewhere:將當前文件另存為到路徑指定的地方
ADDR1,ADDR2w /path/to/somewhere:將ADDR1到ADDR2指定的地址文本 另存為到路徑指定的地方

21.將另一個文件的內容填充在當前文件中(r表示讀)

末行模式下
r: /path/to/somefile
例如:vim /etc/rc.sysinit 打開文件後,末行模式 輸入 :r /etc/inittab :會將 inittab文件的所有內容附加到rc.sysinit文件游標所在的位置

22.跟shell交互(vim 末行模式執行shell)

末行模式
! command即可
例如: ! ls /etc/:會列出/ect目錄下所有文件及目錄 按enter後回到vim編輯狀態

23.高級話題

在末行模式下
①顯示或取消行號
set nu(set number):顯示行號
set nonu:取消顯示行號
②顯示忽略或區分字元大小寫
set ic (set ignorecase):忽略大小寫
set noignorecase:區分大小寫
③設定自動縮進
set ai(set autoindent):自動縮進
set noai:取消自動縮進
④查找到的文本高亮或取消高亮顯示
set hlsearch:高亮顯示搜索到的文本
set nohlsearch:取消高亮顯示搜索到的文本
⑤語法高亮
syntax on:打開語法高亮顯示
syntax off:關閉語法高亮顯示

24.vim配置文件

全局vim配置文件:/etc/vimrc
個人vim配置文件:~/.vimrc
[root@libaoliang ~]# echo "set nu" >> /root/.vimrc # root用戶用vim打開文件時,顯示行號

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

MySql中exists和in的區別
Spring 和 AspectJ實現DDD領域驅動設計

TAG:程序員小新人學習 |