在命令行窗口下想要打開或者新建并編輯都可使用vi/vim命令。首先介紹一下vi/vim:vi編輯器是所有Unix及Linux系統(tǒng)下標(biāo)準(zhǔn)的編輯器,他就相當(dāng)于windows系統(tǒng)中的記事本一樣,它的強(qiáng)大不遜色于任何最新的文本編輯器。他是我們使用Linux系統(tǒng)不能缺少的工具。由于對(duì)Unix及Linux系統(tǒng)的任何版本,vi編輯器是完全相同的,學(xué)會(huì)它后,您將在Linux的世界里暢行無阻。
vim 具有程序編輯的能力,可以以字體顏色辨別語法的正確性,方便程序設(shè)計(jì);
因?yàn)槌绦蚝?jiǎn)單,編輯速度相當(dāng)快速。
vim可以當(dāng)作vi的升級(jí)版本,他可以用多種顏色的方式來顯示一些特殊的信息。
vim會(huì)依據(jù)文件擴(kuò)展名或者是文件內(nèi)的開頭信息, 判斷該文件的內(nèi)容而自動(dòng)的執(zhí)行該程序的語法判斷式,再以顏色來顯示程序代碼與一般信息。
vim里面加入了很多額外的功能,例如支持正則表達(dá)式的搜索、多文件編輯、塊復(fù)制等等。
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供海城網(wǎng)站建設(shè)、海城做網(wǎng)站、海城網(wǎng)站設(shè)計(jì)、海城網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、海城企業(yè)網(wǎng)站模板建站服務(wù),十多年海城做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
vi可以分為三種狀態(tài),分別是一般模式、編輯模式和命令行模式,各模式的功能區(qū)分如下:
一般模式:
以vi打開一個(gè)文件就直接進(jìn)入一般模式了(這是默認(rèn)的模式)。在這個(gè)模式中, 你可以使用上下左右按鍵來移動(dòng)光標(biāo),你可以使用刪除字符或刪除整行來處理文件內(nèi)容, 也可以使用復(fù)制、粘貼來處理你的文件數(shù)據(jù)。
編輯模式:
在一般模式中可以進(jìn)行刪除、復(fù)制、粘貼等的操作,但是卻無法編輯文件的內(nèi)容,只有當(dāng)你按下【i, I, o, O, a, A, r, R】等任何一個(gè)字母之后才會(huì)進(jìn)入編輯模式。這時(shí)候屏幕的左下方會(huì)出現(xiàn)【INSERT或 REPLACE】的字樣,此時(shí)才可以進(jìn)行編輯。而如果要回到一般模式時(shí), 則必須要按下【Esc】即可退出編輯模式。
命令行模式:
輸入【 : / ? 】三個(gè)中的任何一個(gè),就可以將光標(biāo)移動(dòng)到最底下那一行。在這個(gè)模式中, 可以提供查找、讀取、存盤、替換字符、離開vi、顯示行號(hào)等的動(dòng)作則是在此模式中完成的!
在命令行窗口下使用 ll 命令查看當(dāng)前目錄所有文件,使用vi/vim如果有則打開編輯,如果沒有則新建編輯
使用方法: vi 文本名.擴(kuò)展名 如 vi hello.txt 則進(jìn)入hello.txt文件一般模式,只有當(dāng)你按下【i, I, o, O, a, A, r, R】等任何一個(gè)字母之后才會(huì)進(jìn)入編輯模式。則介紹一下這幾個(gè)鍵的功能
【i, I】 進(jìn)入編輯模式:
i 為【從目前光標(biāo)所在處插入】
I 為【在目前所在行的第一個(gè)非空格符處開始插入】
【a, A】 進(jìn)入編輯模式(Insert mode):
a 為【從目前光標(biāo)所在的下一個(gè)字符處開始插入】
A 為【從光標(biāo)所在行的最后一個(gè)字符處開始插入】
【o, O】 進(jìn)入編輯模式:
o 為【在目前光標(biāo)所在的下一行處插入新的一行】
O 為在目前光標(biāo)所在處的上一行插入新的一行
【r, R】 進(jìn)入取代模式:
r 只會(huì)取代光標(biāo)所在的那一個(gè)字符一次
R會(huì)一直取代光標(biāo)所在的文字,直到按下 ESC 為止;
按下【Esc】 退出編輯模式,回到一般模式
一般模式切換到命令行模式可用的按鈕說明
【:w】 保存編輯的內(nèi)容
【:w!】強(qiáng)制寫入該文件,但跟你對(duì)該文件的權(quán)限有關(guān)
【:q】 在未進(jìn)行修改的前提下離開vi
【:q!】 不想保存修改強(qiáng)制離開
【:wq】 強(qiáng)制寫入并保存后離開
【:x】 保存后離開
【ZZ】 若文件沒有更動(dòng),則不保存離開,若文件已經(jīng)被更改過,則保存后離開
【:w filename】 將編輯的數(shù)據(jù)保存成另一個(gè)文件(類似另存)
【:r filename】 在編輯的數(shù)據(jù)中,讀入另一個(gè)文件的數(shù)據(jù)。即將【filename】 這個(gè)文件的內(nèi)容加到光標(biāo)所在行后面。
【:n1,n2 w filename】 將n1到n2的內(nèi)容保存成filename這個(gè)文件。
【:! command】暫時(shí)離開vi 到命令行模式下執(zhí)行command的顯示結(jié)果!例如 【:! ls /home】即可在 vi 當(dāng)中察看/home底下以ls輸出的文件信息!
【:set nu】 顯示行號(hào)
【:set nonu】 與 set nu 相反,為取消行
一般模式可用的按鈕說明
移動(dòng)光標(biāo)
【h、j、k、l】,分別控制光標(biāo)左、下、上、右移一格
按【ctrl+b】屏幕往"后"移動(dòng)一頁(yè)
按【ctrl+f】屏幕往"前"移動(dòng)一頁(yè)
【n
【Home】移動(dòng)到這一行的最前面字符處:0數(shù)字,但不能用數(shù)字小鍵盤上的數(shù)字
【End】 移動(dòng)到這一行的最后面字符處:$,我測(cè)試好像不行
【w】光標(biāo)跳到下個(gè)字的開頭
【e】光標(biāo)跳到下個(gè)字的字尾
【H】 光標(biāo)移動(dòng)到這個(gè)屏幕的最上方那一行的第一個(gè)字符
【M】 光標(biāo)移動(dòng)到這個(gè)屏幕的中間那一行的第一個(gè)字符
【L】光標(biāo)移動(dòng)到這個(gè)屏幕的最下方那一行的第一個(gè)字符
【G】 移動(dòng)到這個(gè)文件的最后一行
【nG】移動(dòng)到這個(gè)文件的第n行(可配合:set nu)
【gg】 移動(dòng)到這個(gè)文件的第一行,相當(dāng)于1G
【n
查找與替換
【/word】 向光標(biāo)向下尋找一個(gè)名稱為word的字符串
【?word】 向光標(biāo)向上尋找一個(gè)名稱為word的字符串
【n】 代表重復(fù)前一個(gè)查找的動(dòng)作
【N】 與n剛好相反,為【反向】進(jìn)行行前一個(gè)查找動(dòng)作
【:n1,n2s/word1/word2/g】 n1與n2為數(shù)字,在第n1與n2行之間查找word1 這個(gè)字符串,并將該字符串替換為word2
【:1,$s/word1/word2/g】 從第一行到最后一行查找word1字符串,并將該字符串替換為word2
【:1,$s/word1/word2/gc】 從第一行到最后一行查找word1字符串,并將該字符串替換為word2 ,且在替換前提示用戶確認(rèn)是否進(jìn)行替換
刪除、復(fù)制與粘貼
【x】 為向后刪除一個(gè)字符 (相當(dāng)于【del】鍵)
【X】 為向前刪除一個(gè)字符(相當(dāng)于【backspace】鍵)
【nx】 連續(xù)向后刪除n個(gè)字符
【dd】 刪除光標(biāo)所在行
【ndd】 刪除光標(biāo)所在的向下n行
【d1G】 刪除光標(biāo)所在行到第一行的所有數(shù)據(jù)
【dG】 刪除光標(biāo)所在到最后一行的所有數(shù)據(jù)
【d$】 刪除光標(biāo)所在處,到該行的最后一個(gè)字符
【d0】 刪除光標(biāo)所在處,到該行的最前一個(gè)字符
【yy】 復(fù)制光標(biāo)所在的那一行
【nyy】 復(fù)制光標(biāo)所在的向下n列
【y1G】 復(fù)制光標(biāo)所在行到第一行的所有數(shù)據(jù)
【yG】 復(fù)制光標(biāo)所在行到最后一行的所有數(shù)據(jù)
【y0】 復(fù)制光標(biāo)所在的那個(gè)字符到該行行首的所有數(shù)據(jù)
【y$】 復(fù)制光標(biāo)所在的那個(gè)字符到該行行尾的所有數(shù)據(jù)
【p】將已復(fù)制的數(shù)據(jù)在光標(biāo)下一行粘貼上
【P】 則為貼在光標(biāo)的上一行
【u】 恢復(fù)前一個(gè)操作
【Ctrl+r】重做上一個(gè)操作
【.】 是重復(fù)前一個(gè)操作