vi編輯器是全部Unix及Linux系統下標準的編輯器,他就至關於windows系統中的記事本同樣,它的強大不遜色於任何最新的文本編輯器。他是咱們使用Linux系統不能缺乏的工具。因爲對Unix及linux系統的任何版本,vi編輯器是徹底相同的,學會它後,您將在Linux的世界裏暢行無阻。linux
vim 具備程序編輯的能力,能夠以字體顏色辨別語法的正確性,方便程序設計;正則表達式
vim能夠看成vi的升級版本,他能夠用多種顏色的方式來顯示一些特殊的信息。shell
vim會依據文件擴展名或者是文件內的開頭信息, 判斷該文件的內容而自動的執行該程序的語法判斷式,再以顏色來顯示程序代碼與通常信息。vim
vim裏面加入了不少額外的功能,例如支持正則表達式的搜索、多文件編輯、塊複製等等。 這對於咱們在Linux上進行一些配置文件的修改工做時是很棒的功能。windows
1.vi/vim是什麼? 編輯器
①vi是Visual Interface的縮寫,即 可視化接口ide
②vim是vi iMprove的縮寫,即 vi的加強版(具備語法着色功能)工具
2.vim模式有哪些?如何切換?字體
①三種模式spa
命令模式(默認):剛進入vim的時候,默認就是 命令模式,能夠複製行,刪除行等。 輸入模式:能夠輸入內容。 末行模式:在最下邊,除編輯模式,能夠輸入諸多管理員命令
②模式轉換
命令模式→輸入模式: i:在當前光標所在字符的前面,轉爲輸入模式
I:在當前光標所在行的行首轉換爲輸入模式
a:在當前光標所在字符的後面,轉爲輸入模式
A:在光標所在行的行尾,轉換爲輸入模式
o:在當前光標所在行的下方,新建一行,並轉爲輸入模式
O:在當前光標所在行的上方,新建一行,並轉爲輸入模式
s:刪除光標所在字符
r:替換光標處字符
輸入模式→命令模式 ESC鍵
命令模式→末行模式 輸入:便可 轉爲末行模式
末行模式-操做
末行模式→命令模式 ESC鍵
3.使用vim如何打開文件?
① vim /path/to/somefile :vim後跟文件路徑及文件名 ,若是文件存在,則打開編輯文件窗口,若是文件不存在,則建立文件
[root@libaoliang ~]# vim /etc/inittab
② vim + # :打開文件,並定位到第#行,#表明數字
[root@libaoliang ~]# vim +3 /etc/inittab
③ vim + :打開文件,定位到最後一行
[root@libaoliang ~]# vim + /etc/inittab
④ vim +/PATTERN:打開文件,定位到第一次被PATTERN匹配到的行的行首
[root@libaoliang ~]# vim +/start /etc/inittab
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:刪除包含當前光標所在行內的#行
末行模式下:
位置符號
末行模式下,刪除命令d能夠跟以上 位置符號 相結合使用 StartADD,EndADDd:刪除StartADD到EndADDd位置的全部行,例如:10,15d:刪除10到15行全部內容 .d:刪除光標所在行,同dd
8.粘貼命令: p
p(小寫p):若是刪除的或複製的爲整行內容,則粘貼到光標所在行的下方,若是複製或刪除的內容爲非整行,則粘貼至光標所在字符的後面 P(大寫P):若是刪除的或複製的爲整行內容,則粘貼到光標所在行的上方,若是複製或刪除的內容爲非整行,則粘貼至光標所在字符的前面
9.複製命令:y
命令模式 yy:複製當前行 yw (y#w,ye,y#e,yb,y#b):複製光標當前位置到下個單詞詞首內容.#表明數字 y#G:複製當前位置當#行處的全部內容 末行模式 :複製當前位置向下3行
10.修改c:先刪除內容,在轉換爲輸入模式
c:用法同d
11.替換:r
r:單字符替換,會替換光標選中字符 R:替換模式,能夠作字符替換。
12.撤銷編輯操做:u(undo)
u:撤銷前一次編輯操做 #u:直接撤銷#次操做 Ctrl+r:撤銷最近一次撤銷操做
13.重複前一次編輯操做.
.:好比 上一次dd刪除了一行,如今輸入.就能夠重複dd刪除行的操做
14.可視化模式:
鍵盤控制光標
15.查找:
末行模式: /
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,ARROW 好比 Ctrl+
19.分窗口編輯多個文件
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表示讀)
/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打開文件時,顯示行號。