vi/vim是什么?
linux世界幾乎所有的配置文件都是以純文本形式存在的,而在所有的linux發行版系統上都有vi編輯器,因此利用簡單的文字編輯軟件就能夠輕松地修改系統的各種配置了,非常方便。vi就是一種功能強大的文本編輯器,而vim則是高級版的vi,不但可以用不同顏色顯示文字內容,還能進行諸如shell腳本、c語言程序編輯等功能,可以作為程序編輯器。
1、vi的基本概念?
?基本上vi可以分為三種狀態,分別是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能區分如下:
1)?命令行模式command mode)
控制屏幕光標的移動,字符、字或行的刪除,移動復制某區段及進入Insert mode下,或者到 last line mode。
2)?插入模式(Insert mode)
只有在Insert mode下,才可以做文字輸入,按「ESC」鍵可回到命令行模式。
3)?底行模式(last line mode)
將文件保存或退出vi,也可以設置編輯環境,如尋找字符串、列出行號……等。
不過一般我們在使用時把vi簡化成兩個模式,就是將底行模式(last line mode)也算入命令行模式command mode)。
2、vi的基本操作?
a) 進入vi
在系統提示符號輸入vi及文件名稱后,就進入vi全屏幕編輯畫面:
$ vi myfile
為什么要學習vi/vim?
首先所有的Linux發行版系統上都會默認內置vi編輯器,而不一定帶有其他文本編輯器,非常通用;其次,很多軟件的編輯接口都會默認調用vi;第三,vi具有程序編輯的能力;最后,vi程序簡單,編輯速度相當快速。
vi的三種模式及各個模式之間的轉換關系
一般模式常用操作
【h(或向左方向鍵)】 光標左移一個字符
【j(或向下方向鍵)】 光標下移一個字符
【k(或向上方向鍵)】 光標上移一個字符
【l(或向右方向鍵)】 光標右移一個字符
【[Ctrl] + f】 屏幕向下移動一頁(相當于Page Down鍵)
【[Ctrl] + b】 屏幕向上移動一頁(相當于Page Up鍵)
【[0]或[Home]】 光標移動到當前行的最前面
【[$]或[End]】 光標移動到當前行的末尾
【G】 光標移動到文件的最后一行(第一個字符處)
【nG】 n為數字(下同),移動到當前文件中第n行
【gg】 移動到文件的第一行,相當于”1G”
【n[Enter]】 光標向下移動n行
【/word】 在文件中查找內容為word的字符串(向下查找)
【?word】 在文件中查找內容為word的字符串(向上查找)
【[n]】 表示重復查找動作,即查找下一個
【[N]】 反向查找下一個
【x,X】 x為向后刪除一個字符,相當于[Delete],X為向前刪除一個字符,相當于[Backspace]
【dd】 刪除光標所在的一整行
【ndd】 刪除光標所在的向下n行
【yw】:將光標所在之處到字尾的字符復制到緩沖區中。
【#yw】:復制#個字到緩沖區
【yy】?復制光標所在行到緩沖區。
【nyy】 復制光標所在的向下n行
【p,P】 p為將緩沖區內的字符貼到光標所在位置;P為將已經復制的數據在光標上一行粘貼
注意:所有與“y”有關的復制命令都必須與“p”配合才能完成復制與粘貼功能。
【u】 撤消上一個操作
【[Ctrl] + r】 多次撤消
【.】 這是小數點鍵,重復上一個操作
一般模式切換到編輯模式的操作
1、進入插入模式(6個命令)
【i】 從目前光標所在處插入
【I】 從目前光標
【a】 從當前光標所在的下一個字符處開始插入
【A】 從光標所在行的最后一個字符處開始插入
【o】 英文小寫字母o,在目前光標所在行的下一行處插入新的一行并開始插入
【O】 英文大寫字母O,在目前光標所在行的上一行處插入新的一行并開始插入
2、進入替換模式(2個命令)
【r】 只會替換光標所在的那一個字符一次
【R】 會一直替換光標所在字符,直到按下[ESC]鍵為止
【[ESC]】 退出編輯模式回到一般模式
一般模式切換到命令行模式
【:w】 保存文件
【:w!】 若文件為只讀,強制保存文件
【:q】 離開vi
【:q!】 不保存強制離開vi
【:wq】 保存后離開
【:wq!】 強制保存后離開
【:! command】 暫時離開vi到命令行下執行一個命令后的顯示結果
【:set nu】 顯示行號
【:set nonu】 取消顯示行號
【:w newfile】 另存為