《Linux操作系統(tǒng)原理與應(yīng)用》課件-第3章_第1頁
《Linux操作系統(tǒng)原理與應(yīng)用》課件-第3章_第2頁
《Linux操作系統(tǒng)原理與應(yīng)用》課件-第3章_第3頁
《Linux操作系統(tǒng)原理與應(yīng)用》課件-第3章_第4頁
《Linux操作系統(tǒng)原理與應(yīng)用》課件-第3章_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第3章 vi文本編輯器3.1

vi文本編輯器概述3.2vi基本命令3.3vi常用末行命令

3.1 vi文本編輯器概述

3.1.1 vi文本編輯器介紹Linux的文本編輯器有多種,其中vi(visual)是最基本的文本編輯工具。vi誕生于1978年,由加州大學(xué)伯克利分校的BillJoy編寫。從其誕生至今,vi始終是所有UNIX/Linux系統(tǒng)上必配的編輯器。目前Linux系統(tǒng)上使用的是vi的增強(qiáng)版vim,它是一個(gè)開源軟件。

vi是一個(gè)全屏幕文本編輯器,具有文本編輯的所有功能,尤以高效和快捷著稱。數(shù)十年來,vi始終在編輯器領(lǐng)域保持領(lǐng)先地位,這主要?dú)w功于它的以下幾個(gè)突出特點(diǎn):

1. 強(qiáng)大專一的編輯功能

2. 廣泛的適用性

3. 靈活快捷的操作方式

4. 高度的可配置性

3.1.2 vi的工作模式

vi是一個(gè)多模式的軟件,在不同的工作模式下,它對(duì)輸入的內(nèi)容有不同的解釋。

命令模式(normalmode)用于執(zhí)行各個(gè)文本編輯命令。

插入模式(insertmode)用于完成文本錄入工作。

末行模式(lastlinemode)也稱為ex模式。

在文本編輯過程中,用戶可以用命令控制vi在這3種工作模式之間進(jìn)行切換,完成各種編輯工作。3種模式之間的轉(zhuǎn)換方式如圖3-1所示。圖3-1vi工作模式的轉(zhuǎn)換

3.1.3 vi的基本工作流程

啟動(dòng)vi的方法是在Shell下輸入vi命令,命令的格式是:

vi[文件]

vi的啟動(dòng)過程是:先建立一個(gè)編輯緩沖區(qū),若指定了文件且該文件已存在,則將其內(nèi)容讀到編輯緩沖區(qū)中;若指定的文件不存在,則建立此文件。隨后vi顯示全屏幕編輯環(huán)境,將光標(biāo)定位在第1行第1列的位置上。圖3-2(a)是vi啟動(dòng)后的初始界面。屏幕末行顯示的是文件名稱等信息。光標(biāo)位置的字符通常以反顯方式或下劃線方式顯示?!皛”表示編輯區(qū)的空行,它們不是文件的組成部分。

vi啟動(dòng)后首先進(jìn)入命令模式。此時(shí),用戶可以使用vi的編輯命令進(jìn)行文本的輸入和修改。進(jìn)入插入模式的方法是按Insert鍵或插入命令字符,見圖3-2(b)。輸入完成后按Esc鍵返回命令模式,見圖3-2(c)。此后可以使用各種編輯命令對(duì)已輸入的文本進(jìn)行修改,具體的用法在第3.2節(jié)介紹。注意:編輯命令只是修改調(diào)入編輯緩沖區(qū)中的文件的副本,文件本身不會(huì)被修改。所以,編輯完成后,要用末行命令“:wq”將修改后的內(nèi)容保存到文件中并退出vi。若此次運(yùn)行未對(duì)原文件作任何修改,則可用“:q”命令退出。

例3.1?vi的基本用法如圖3-2所示。圖3-2vi的基本工作流程示例

3.2 vi基本命令

vi命令通常是簡(jiǎn)單的字符或是字符組合(注意:vi的命令是區(qū)分大小寫的)。字符命令的優(yōu)勢(shì)在于僅用普通鍵盤就可以完成所有編輯工作,完全不倚賴于鼠標(biāo)和控制鍵。盡管如此,vi還是提供了對(duì)現(xiàn)代鍵盤上的編輯鍵的支持。適當(dāng)?shù)厥褂眠@些熟悉的按鍵將使編輯操作更加輕松。表3-1列出了這些鍵在不同模式下的作用。

3.2.1 光標(biāo)移動(dòng)

在輸入或修改文本前,應(yīng)先將光標(biāo)移到適當(dāng)?shù)奈恢?。vi不支持用鼠標(biāo)定位光標(biāo),只可以用命令或按鍵來移動(dòng)光標(biāo)。以下是常用的光標(biāo)移動(dòng)命令:

3.2.2 輸入與刪除

1. 文本的輸入

在輸入文本內(nèi)容之前,應(yīng)先將光標(biāo)定位在要輸入的位置上,然后執(zhí)行插入命令,進(jìn)入插入模式。處于插入模式時(shí),屏幕底部會(huì)顯示“INSERT”提示,表示后續(xù)的輸入都作為文件的輸入內(nèi)容。輸入完成后按Esc鍵就可返回命令模式。

插入命令都是單字符命令,包括a(append)命令、i(insert)命令和o(open)命令。用這些命令可以靈活地實(shí)現(xiàn)在當(dāng)前光標(biāo)位置的前、后、行首、行尾、上一行、下一行開始輸入。常用的插入命令如下:

2. 文本的刪除

刪除文本的最簡(jiǎn)單方法是將光標(biāo)移到要?jiǎng)h除的位置,然后按Delete鍵刪當(dāng)前字符,或按Backspace鍵刪光標(biāo)前的字符。當(dāng)要?jiǎng)h除的文本較多時(shí),使用d(delete)命令更為靈活。

以下是常用的刪除命令:

例3.2插入與刪除命令的用法(下劃線處為光標(biāo)位置)。

3.2.3 修改與替換

1. 文本的修改

文本修改是指改寫部分文本的內(nèi)容,對(duì)應(yīng)的是c(correct)命令。修改的過程是:先刪除指定范圍內(nèi)的文本,然后插入新文本,最后用Esc鍵結(jié)束插入。以下是常用的修改命令:

2. 文本的替換與替代

替換是指用一個(gè)字符替換另一個(gè)字符,對(duì)應(yīng)的是r(replace)命令。替換是一種覆蓋操作,替換后文本的長(zhǎng)度保持不變。替代則是指用多個(gè)字符取代一個(gè)字符或一行,對(duì)應(yīng)的是s(substitute)命令。替代是一個(gè)先刪除后插入的操作。通常情況下,替代后的文本長(zhǎng)度會(huì)發(fā)生變化。

例3.3修改、替換與替代命令的用法。

3.2.4 復(fù)制、粘貼與選擇

1. 文本的復(fù)制與粘貼

vi中設(shè)置了專門的緩沖區(qū),其作用相當(dāng)于剪貼板。復(fù)制操作是將指定的文本復(fù)制到剪貼板中,對(duì)應(yīng)的是y(yank)命令;粘貼操作是將剪貼板中的內(nèi)容插入到文本中,對(duì)應(yīng)的是p(put)命令。此外,前面介紹的刪除命令其實(shí)是剪切操作,被刪除的文本并沒有真正消失,而是暫存到剪貼板中,可以再粘貼到文本中。

以下是常用的復(fù)制粘貼命令:

2. 文本的選擇

選擇就是用可視化方式選定文本的范圍,對(duì)應(yīng)的是v(visual)命令。輸入選擇命令后vi即進(jìn)入可視模式,此時(shí)使用光標(biāo)移動(dòng)命令即可將移動(dòng)范圍內(nèi)的文本選中。選中的文本會(huì)以高亮方式直觀地顯示出來,之后可對(duì)選中的文本進(jìn)行復(fù)制、刪除、修改、替換等操作。輸入操作命令或按Esc鍵即退出可視模式。

以下是常用的選擇命令:

例3.4選擇、復(fù)制與粘貼命令的用法,如圖3-3所示。圖3-3選擇、復(fù)制與粘貼命令用法示意圖3-3選擇、復(fù)制與粘貼命令用法示意

3.2.5 撤銷與重做

撤銷即消除上一個(gè)命令所做的修改,恢復(fù)到命令執(zhí)行前的樣子。重做就是重復(fù)執(zhí)行上一個(gè)命令。撤銷對(duì)應(yīng)的命令是u(undo)命令,重做對(duì)應(yīng)的命令是“.”命令,如下所示:

u 撤銷上一個(gè)命令所做的修改。

U 撤銷最近針對(duì)一行所做的全部修改。在對(duì)一行連續(xù)做了多處修改后,用此命令可以一次恢復(fù)全行。

. 重復(fù)執(zhí)行前一個(gè)命令。

3.3 vi常用末行命令

3.3.1 搜索與替換命令1. 字符串搜索要在一個(gè)大文件中查找某個(gè)字符串,可以用字符串搜索命令。執(zhí)行搜索命令后,光標(biāo)將停留在第一個(gè)匹配字符串的首字符處。按n或N則移到下一個(gè)匹配字符串之首。如果不存在匹配的字符串,則會(huì)在末行上顯示“Patternnotfound”。

搜索命令有以下兩種:

2. 字符串替換

字符串替換使用s(substitute)命令,它的功能是在指定的行中搜索與指定模式相匹配的字符串,并用另一個(gè)字符串替換它。s命令的一般格式是:

例3.5?s命令的用法。

3. 全局搜索

全局搜索使用g(global)命令,其功能是在全文中搜索含有與指定模式相匹配的字符串的行,對(duì)匹配的行做標(biāo)記。g命令的格式是:

:g/p1搜索所有包含p1字符串模式的行。

:g!/p1搜索所有不包含p1字符串模式的行。

4. 全局編輯

vi的許多末行命令都是針對(duì)行的編輯命令。g命令可以與這些命令聯(lián)合使用,其作用是為這些命令確定滿足某個(gè)條件的目標(biāo)行。在g命令的作用下,這些面向行的編輯命令就可用來完成面向全文的編輯操作。全局編輯命令的格式是:

:g/p1/命令對(duì)所有包含p1的行執(zhí)行指定的命令。

:g!/p1/命令對(duì)所有不包含p1的行執(zhí)行指定的命令。

5. 全局替換

s命令是面向行的字符串替換命令。s命令經(jīng)常與g命令聯(lián)合使用,實(shí)現(xiàn)更靈活、更細(xì)致的全局替換功能。全局替換命令的一般格式是:

g命令/s命令

全局替換的含義是:先用g命令在文件中搜索含有某個(gè)模式的行,并做標(biāo)記,然后用s命令對(duì)所有有標(biāo)記的行執(zhí)行搜索和替換。

常用的全局替換命令的格式有:

例3.6全局替換命令的用法。

3.3.2 文件操作與退出命令

文件操作命令包括讀文件和寫文件操作。讀文件就是將文件的內(nèi)容讀入編輯緩沖區(qū)中,寫文件就是將編輯緩沖區(qū)的內(nèi)容保存到文件中。在退出vi時(shí),可以選擇是否保存文件。以下是常用的退出和文件操作命令:

3.3.3 其他常用命令

1. 行編輯命令

行編輯命令用于對(duì)指定的行進(jìn)行編輯。在指定行范圍時(shí),可以用“.”代表當(dāng)前行,用“$”代表最后一行,用“%”代表所有行。常用的行編輯命令如下:

2. 執(zhí)行Shell命令

用vi編輯文件時(shí)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論