vi profile
成都創(chuàng)新互聯(lián)公司長(zhǎng)期為上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為夏縣企業(yè)提供專(zhuān)業(yè)的成都做網(wǎng)站、網(wǎng)站建設(shè),夏縣網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
返回
:q 退出
:wq或者:x或者shift+zz 保存并退出
:q! 不保存并退出
:w 保存
:w! 強(qiáng)制保存
編輯到輸入模式:
i 在當(dāng)前光標(biāo)前面輸入
I 在當(dāng)前光標(biāo)所在行的行首,轉(zhuǎn)換為輸入模式
a 在當(dāng)前光標(biāo)后面輸入
A 在當(dāng)前光標(biāo)所在行的行尾,轉(zhuǎn)換為輸入模式
o 在當(dāng)前光標(biāo)所在行的下方,新建一行,并轉(zhuǎn)為輸入模式
O 在當(dāng)前光標(biāo)所在行的上方,新建一行,并轉(zhuǎn)為輸入模式
1、 移動(dòng)光標(biāo)
字符:方向鍵上下左右或者鍵盤(pán)kjhl(上下左右)
單詞:w移至下一個(gè)單詞的詞首;e跳至當(dāng)前或下一個(gè)單詞的詞尾;b跳至當(dāng)前或前一個(gè)單詞的詞首
行內(nèi):0絕對(duì)行首;^行首的第一個(gè)非空白字符;$絕對(duì)行尾
行間:G文章末尾;3G第3行;gg文章開(kāi)頭
翻屏:ctrl f【往后翻】;Ctrl b【往前翻】
2、 刪除、替換單個(gè)字符
x刪除光標(biāo)位置字符;3x刪除光標(biāo)開(kāi)始3個(gè)字符;r替換光標(biāo)位置字符
dw刪除一個(gè)單詞;4dw刪除光標(biāo)開(kāi)始的4個(gè)單詞;dd刪除光標(biāo)所在行;5dd刪除光標(biāo)開(kāi)始的5行
3、復(fù)制粘貼剪切
yw復(fù)制一個(gè)單詞,p在該行粘貼單詞;yy復(fù)制整行,p在該行下方粘貼整行
dd剪切整行,p再粘貼整行;dw剪切一個(gè)單詞,p再粘貼一個(gè)單詞
4、 撤銷(xiāo)重做
u:撤銷(xiāo);ctrl+r:重做撤銷(xiāo)的操作;.重復(fù)上一步的操作【假設(shè)先dd,再.,會(huì)再執(zhí)行dd命令】
1、 set設(shè)置
set nu
set nonu
set readonly #設(shè)置只讀文件,不能修改,只在當(dāng)前環(huán)境有效,退出文件,再次打開(kāi),這個(gè)只讀就無(wú)效了
set noreadonly #取消只讀
2、 /查找
/after查找文檔中的after【可以找到所有的after】,n向下翻,N向上翻
:/after查找文檔中的after所在行【可以找到所有的after】,n向下翻,N向上翻
3、!執(zhí)行命令
比如:查找root目錄
:!ls /root/
4、 查找并替換
格式
【 :查找范圍s/查找的詞/要替換的詞/ 】
或者【:查找范圍s#查找的詞#要替換的詞# 】
或者【:查找范圍s%查找的詞%要替換的詞%】,
即分隔符可以是/、#、%
其中, 查找范圍 包括【.當(dāng)前光標(biāo)行】;【$末尾行】;【%全文】;【g一行內(nèi)全部替換】;【i忽略大小寫(xiě)】
比如 【 :.,$s/after/before/】 表示在當(dāng)前光標(biāo)行【.】到末尾【$】這個(gè)范圍內(nèi),將after替換為before, 但是如果一行有多個(gè)after的話,只會(huì)把第一個(gè)after替換掉 。
比如 【 :%s/after/before/】 表示在全文,將after替換為before,但是如果一行有多個(gè)after的話,只會(huì)把第一個(gè)after替換掉。
比如 【:%s/after/before/g】 ,表示在全文,將after替換為before,但是 如果一行有多個(gè)after的話,會(huì)把該行所有after替換掉,因?yàn)樵诿罾锩婕恿薵 。
比如 【:%s/after/before/gi】 ,表示在全文,將after替換為before,且忽略大小寫(xiě)并替換一行內(nèi)所有after。
比如 【 :%d或者dG】 ,表示刪除全文
比如 【:1,$-4d】 ,表示刪除第一行到倒數(shù)第5行的數(shù)據(jù)
比如 【:1,4y】 ,表示復(fù)制1到4行,再按p可粘貼這4行
先按ESC進(jìn)入Command模式,然后輸入“:wq”,回車(chē)就可以保存并退出了。
vi的其他保存/退出命令:
:w 保存;
:w filename 另存為filename;
:wq! 保存并強(qiáng)制退出;
:wq! filename 注:以filename為文件名保存后強(qiáng)制退出;
:q! 強(qiáng)制退出;
:x 保存并退出(僅當(dāng)文件有變化時(shí)保存)
擴(kuò)展資料:
vi有三種工作模式:命令模式、文本編輯模式和最后行模式。不同工作模式下的操作方法有所不同。
1、命令行模式
該模式是進(jìn)入vi編輯器后的默認(rèn)模式。任何時(shí)候,不管用戶處于何種模式,按下Esc鍵即可進(jìn)入命令模式。
在命令模式下,用戶可以輸入vi命令,用于管理自己的文檔。此時(shí)從鍵盤(pán)上輸入的任何字符都被當(dāng)做編輯命令來(lái)解釋。若輸入的字符是合法的vi命令,則vi在接受用戶命令之后完成相應(yīng)的動(dòng)作。但需注意的是,所輸入的命令并不回顯在屏幕上。若輸入的字符不是vi的合法命令,vi 會(huì)響鈴報(bào)警。
2、文本輸入模式
在命令模式下輸入插入命令i、附加命令a、打開(kāi)命令o、修改命令c、取代命令r或替換命令s都可以進(jìn)入文本輸入模式。
在該模式下,用戶輸入的任何字符都被vi當(dāng)做文件內(nèi)容保存起來(lái),并將其顯示在屏幕上。在文本輸入過(guò)程中,若想回到命令模式下,按下Esc鍵即可。
3、末行模式
末行模式也稱(chēng) ex 轉(zhuǎn)義模式。在命令模式下,用戶按:鍵即可進(jìn)入末行模式下,此時(shí)vi會(huì)在顯示窗口的最后一行(通常也是屏幕的最后一行)顯示一個(gè):作為末行模式的說(shuō)明符,等待用戶輸入命令。多數(shù)文件管理命令都是在此模式下執(zhí)行的(如把編輯緩沖區(qū)的內(nèi)容寫(xiě)到文件中等)。
末行命令執(zhí)行完后,vi 自動(dòng)回到命令模式。
參考資料:百度百科-vi
1.如圖,vi 文件名,接著按回車(chē)即可打開(kāi)對(duì)應(yīng)的文件,如果沒(méi)有對(duì)應(yīng)的文件,那么vi命令就會(huì)自動(dòng)創(chuàng)建一個(gè)新的。
2.如圖,vi打開(kāi)文件后是命令模式狀態(tài),要用i或者a命令才可進(jìn)入可編輯的狀態(tài)喲。這里我就按a進(jìn)入了編輯模式了哦。
3.如圖,在編輯模式的情況下敲完內(nèi)容,這個(gè)時(shí)候就應(yīng)該保存文件了。保存文件要按esc,這樣就會(huì)退回vi的命令模式喔。
4.按完esc后輸入冒號(hào)(英文的),然后就轉(zhuǎn)換到了末行模式了,末行模式?jīng)Q定是否保存文件。
5.如圖所示,末行模式下可以按x來(lái)保存,x命令可以保存編輯好的文件喲。
6.也可以用到wq來(lái)保存,如果是q!則不保存哦,這點(diǎn)要自己謹(jǐn)記在心,這里我就保存一下vi編寫(xiě)的文件。
7.然后查看,查看用到了cat 文件名哦。
8.如圖所示,vi編寫(xiě)的內(nèi)容可以看到,這表明保存成功。
vi是一個(gè)特殊的命令,也不光是命令還是Linux下的編輯器,由于篇幅關(guān)系就不在這邊多做舉例說(shuō)明,講在以后配置網(wǎng)絡(luò)服務(wù)時(shí)介紹一些vi的實(shí)際應(yīng)用。
vi命令是Linux下全屏幕文本編輯,vi編輯提供了豐富的編輯功能。這個(gè)編輯器十分簡(jiǎn)陋,對(duì)初學(xué)者很不友好。但是因?yàn)長(zhǎng)inux的vi編輯器作用非常大,尤其是在配置各種服務(wù)器時(shí)修改配置文件十分有用。
vi編輯器有3種模式:命令模式、輸入模式、末行模式。掌握這三種模式十分重要:
命令模式:vi啟動(dòng)后默認(rèn)進(jìn)入的是命令模式,從這個(gè)模式使用命令可以切換到另外兩種模式,同時(shí)無(wú)論在任何模式下只要按一下[Esc]鍵都可以返回命令模式。在命令模式中輸入字幕“i”就可以進(jìn)入vi的輸入模式編輯文件。
輸入模式:在這個(gè)模式中我們可以編輯、修改、輸入等編輯工作,在編輯器最后一行顯示一個(gè)“--INSERT--”標(biāo)志著vi進(jìn)入了輸入模式。當(dāng)我們完成修改輸入等操作的時(shí)候我們需要保存文件,這時(shí)我們需要先返回命令模式,在進(jìn)入末行模式保存。
末行模式:在命令模式輸入“:”即可進(jìn)入該模式,在末行模式中有好多好用的命令。
vi的啟動(dòng)和退出
直接輸入命令vi不指定文件名,由于這是一個(gè)沒(méi)有命名的空文件,顯示了vi的版本信息。
vim是vi編輯器的改進(jìn)版本,在vi編輯器的基礎(chǔ)上擴(kuò)展了很多實(shí)用的功能。大多數(shù)linux/unix版本都使用vim代替了原有的vi編輯器。
或者直接使用vi打開(kāi)文件,如果文件存在打開(kāi)存在文件;如果不存在的話,將以我們指定的參數(shù)作為文件名。
輸入q!是強(qiáng)制退出,同時(shí)沒(méi)有保存當(dāng)前文件內(nèi)容。如果文件沒(méi)有進(jìn)行修改,或者已經(jīng)保存完畢也可以使用q退出。保存退出使用wq,保存強(qiáng)制退出wq!
保存文件
如果文件已經(jīng)有文件名,我們?cè)谀┬心J街苯虞斎雡保存,如果沒(méi)有文件名,輸入w 文件名進(jìn)行保存。例如:w test其中test是文件名。
那么在vi中也可以另存為,就是在保存完以后,我們?cè)偈褂脀 另存為文件名。
一般模式常用操作
【h(或向左方向鍵)】 光標(biāo)左移一個(gè)字符
【j(或向下方向鍵)】 光標(biāo)下移一個(gè)字符
【k(或向上方向鍵)】 光標(biāo)上移一個(gè)字符
【l(或向右方向鍵)】 光標(biāo)右移一個(gè)字符
【[Ctrl] + f】 屏幕向下移動(dòng)一頁(yè)(相當(dāng)于Page Down鍵)
【[Ctrl] + b】 屏幕向上移動(dòng)一頁(yè)(相當(dāng)于Page Up鍵)
【[0]或[Home]】 光標(biāo)移動(dòng)到當(dāng)前行的最前面
【[$]或[End]】 光標(biāo)移動(dòng)到當(dāng)前行的末尾
【G】 光標(biāo)移動(dòng)到文件的最后一行(第一個(gè)字符處)
【nG】 n為數(shù)字(下同),移動(dòng)到當(dāng)前文件中第n行
【gg】 移動(dòng)到文件的第一行,相當(dāng)于"1G"
【n[Enter]】 光標(biāo)向下移動(dòng)n行
【延展閱讀】
(一)vi/vim是什么?
Linux世界幾乎所有的配置文件都是以純文本形式存在的,而在所有的Linux發(fā)行版系統(tǒng)上都有vi編輯器,因此利用簡(jiǎn)單的文字編輯軟件就能夠輕松地修改系統(tǒng)的各種配置了,非常方便。vi就是一種功能強(qiáng)大的文本編輯器,而vim則是高級(jí)版的vi,不但可以用不同顏色顯示文字內(nèi)容,還能進(jìn)行諸如shell腳本、C語(yǔ)言程序編輯等功能,可以作為程序編輯器。
(二)為什么要學(xué)習(xí)vi/vim?
首先所有的Linux發(fā)行版系統(tǒng)上都會(huì)默認(rèn)內(nèi)置vi編輯器,而不一定帶有其他文本編輯器,非常通用;其次,很多軟件的編輯接口都會(huì)默認(rèn)調(diào)用vi;第三,vi具有程序編輯的能力;最后,vi程序簡(jiǎn)單,編輯速度相當(dāng)快速。
(三)vim配置文件
vim的配置文件為/etc/vimrc,但一般不建議直接修改這個(gè)文件,而是在用戶根目錄下創(chuàng)建一個(gè)新的隱藏文件:
vim ~/.vimrc
然后編輯這個(gè)文件,常用的配置如下:
bash
"雙引號(hào)后面的內(nèi)容為注釋
set nu "顯示行號(hào)
set hlsearch "查找的字符串反白顯示
set backspace=2 "可隨時(shí)用退格鍵進(jìn)行刪除
set autoindent "自動(dòng)縮排
set ruler "在最下方一行顯示狀態(tài)
set showmode "在左下角顯示模式
set bg=dark "顯示不同的底色,還可以為light
syntax on "語(yǔ)法檢驗(yàn),顏色顯示
參考資料
$Linux vi/vim編輯器常用命令與用法總結(jié).鍵盤(pán)上的手藝人[引用時(shí)間2018-3-7]