Linux下C編程基礎(chǔ)之:常用編輯器
3.2常用編輯器
3.2.1進(jìn)入vi
Linux系統(tǒng)提供了一個(gè)完整的編輯器家族系列,如Ed、Ex、vi和emacs等。按功能它們可以分為兩大類(lèi):行編輯器(Ed、Ex)和全屏幕編輯器(vi、emacs)。行編輯器每次只能對(duì)一行進(jìn)行操作,使用起來(lái)很不方便。而全屏幕編輯器可以對(duì)整個(gè)屏幕進(jìn)行編輯,用戶(hù)編輯的文件直接顯示在屏幕上,從而克服了行編輯那種不直觀(guān)的操作方式,便于用戶(hù)學(xué)習(xí)和使用,具有強(qiáng)大的功能。
vi是Linux系統(tǒng)的第一個(gè)全屏幕交互式編輯程序,它從誕生至今一直得到廣大用戶(hù)的青睞,歷經(jīng)數(shù)十年仍然是人們主要使用的文本編輯工具,足以見(jiàn)其生命力之強(qiáng),而強(qiáng)大的生命力是其強(qiáng)大的功能帶來(lái)的。由于大多數(shù)讀者在此之前都已經(jīng)用慣了Windows平臺(tái)上的編輯器,因此,在剛剛接觸時(shí)總會(huì)或多或少不適應(yīng),但只要習(xí)慣之后,就能感受到它的方便與快捷。
1.vi的模式
vi有3種模式,分別為命令行模式、插入模式及命令行模式。下面具體介紹各模式的功能。
(1)命令行模式。
用戶(hù)在用vi編輯文件時(shí),最初進(jìn)入的為一般模式。在該模式中用戶(hù)可以通過(guò)上下移動(dòng)光標(biāo)進(jìn)行“刪除字符”或“整行刪除”等操作,也可以進(jìn)行“復(fù)制”、“粘貼”等操作,但無(wú)法編輯文字。
(2)插入模式。
只有在該模式下,用戶(hù)才能進(jìn)行文字編輯輸入,用戶(hù)按[ESC]可鍵回到命令行模式。
(3)底行模式。
在該模式下,光標(biāo)位于屏幕的底行。用戶(hù)可以進(jìn)行文件保存或退出操作,也可以設(shè)置編輯環(huán)境,如尋找字符串、列出行號(hào)等。
2.vi的基本流程
(1)進(jìn)入vi,即在命令行下鍵入“vihello”(文件名)。此時(shí)進(jìn)入的是命令行模式,光標(biāo)位于屏幕的上方,如圖3.2所示。
圖3.2進(jìn)入vi命令行模式
(2)在命令行模式下鍵入i進(jìn)入插入模式,如圖3.3所示??梢钥闯?,在屏幕底部顯示有“插入”表示插入模式中的輸入狀態(tài),在該模式下可以輸入文字信息。
圖3.3進(jìn)入vi插入模式
(3)最后,在插入模式中,按“Esc”鍵,則當(dāng)前模式轉(zhuǎn)入命令行模式,并在底行行中輸入“:wq”(存盤(pán)退出)進(jìn)入底行模式,如圖3.4所示。
這樣,就完成了一個(gè)簡(jiǎn)單的vi操作流程:命令行模式→插入模式→底行模式。由于vi在不同的模式下有不同的操作功能,因此,讀者一定要時(shí)刻注意屏幕最下方的提示,分清所在的模式。
圖3.4進(jìn)入vi底行模式
3.vi的各模式功能鍵
(1)命令行模式常見(jiàn)功能鍵如表3.1所示。
表3.1 vi命令行模式功能鍵
功能鍵 | 功 能 |
i | 切換到插入模式,在目前的光標(biāo)所在處插入輸入的文字,已存在的文字會(huì)向后退 |
a | 切換到插入模式,并從目前光標(biāo)所在位置的下一個(gè)位置開(kāi)始輸入文字 |
o | 切換到插入模式,且從行首開(kāi)始插入新的一行 |
[ctrl]+[b] | 屏幕往“后”翻動(dòng)一頁(yè) |
[ctrl]+[f] | 屏幕往“前”翻動(dòng)一頁(yè) |
[ctrl]+[u] | 屏幕往“后”翻動(dòng)半頁(yè) |
[ctrl]+[d] | 屏幕往“前”翻動(dòng)半頁(yè) |
0(數(shù)字0) | 光標(biāo)移到本行的開(kāi)頭 |
G | 光標(biāo)移動(dòng)到文件的最后 |
nG | 光標(biāo)移動(dòng)到第n行 |
$ | 移動(dòng)到光標(biāo)所在行的“行尾” |
nEnter> | 光標(biāo)向下移動(dòng)n行 |
/name | 在光標(biāo)之后查找一個(gè)名為name的字符串 |
?name | 在光標(biāo)之前查找一個(gè)名為name的字符串 |
x | 刪除光標(biāo)所在位置的一個(gè)字符 |
X | 刪除光標(biāo)所在位置的前一個(gè)字符 |
dd | 刪除光標(biāo)所在行 |
ndd | 從光標(biāo)所在行開(kāi)始向下刪除n行 |
yy | 復(fù)制光標(biāo)所在行 |
nyy | 復(fù)制光標(biāo)所在行開(kāi)始的向下n行 |
p | 將緩沖區(qū)內(nèi)的字符粘貼到光標(biāo)所在位置(與yy搭配) |
u | 恢復(fù)前一個(gè)動(dòng)作 |
linux相關(guān)文章:linux教程
評(píng)論