




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第3章 vi文本編輯器3.1
vi文本編輯器概述3.2vi基本命令3.3vi常用末行命令
3.1 vi文本編輯器概述
3.1.1 vi文本編輯器介紹Linux的文本編輯器有多種,其中vi(visual)是最基本的文本編輯工具。vi誕生于1978年,由加州大學伯克利分校的BillJoy編寫。從其誕生至今,vi始終是所有UNIX/Linux系統(tǒng)上必配的編輯器。目前Linux系統(tǒng)上使用的是vi的增強版vim,它是一個開源軟件。
vi是一個全屏幕文本編輯器,具有文本編輯的所有功能,尤以高效和快捷著稱。數(shù)十年來,vi始終在編輯器領域保持領先地位,這主要歸功于它的以下幾個突出特點:
1. 強大專一的編輯功能
2. 廣泛的適用性
3. 靈活快捷的操作方式
4. 高度的可配置性
3.1.2 vi的工作模式
vi是一個多模式的軟件,在不同的工作模式下,它對輸入的內容有不同的解釋。
命令模式(normalmode)用于執(zhí)行各個文本編輯命令。
插入模式(insertmode)用于完成文本錄入工作。
末行模式(lastlinemode)也稱為ex模式。
在文本編輯過程中,用戶可以用命令控制vi在這3種工作模式之間進行切換,完成各種編輯工作。3種模式之間的轉換方式如圖3-1所示。圖3-1vi工作模式的轉換
3.1.3 vi的基本工作流程
啟動vi的方法是在Shell下輸入vi命令,命令的格式是:
vi[文件]
vi的啟動過程是:先建立一個編輯緩沖區(qū),若指定了文件且該文件已存在,則將其內容讀到編輯緩沖區(qū)中;若指定的文件不存在,則建立此文件。隨后vi顯示全屏幕編輯環(huán)境,將光標定位在第1行第1列的位置上。圖3-2(a)是vi啟動后的初始界面。屏幕末行顯示的是文件名稱等信息。光標位置的字符通常以反顯方式或下劃線方式顯示?!皛”表示編輯區(qū)的空行,它們不是文件的組成部分。
vi啟動后首先進入命令模式。此時,用戶可以使用vi的編輯命令進行文本的輸入和修改。進入插入模式的方法是按Insert鍵或插入命令字符,見圖3-2(b)。輸入完成后按Esc鍵返回命令模式,見圖3-2(c)。此后可以使用各種編輯命令對已輸入的文本進行修改,具體的用法在第3.2節(jié)介紹。注意:編輯命令只是修改調入編輯緩沖區(qū)中的文件的副本,文件本身不會被修改。所以,編輯完成后,要用末行命令“:wq”將修改后的內容保存到文件中并退出vi。若此次運行未對原文件作任何修改,則可用“:q”命令退出。
例3.1?vi的基本用法如圖3-2所示。圖3-2vi的基本工作流程示例
3.2 vi基本命令
vi命令通常是簡單的字符或是字符組合(注意:vi的命令是區(qū)分大小寫的)。字符命令的優(yōu)勢在于僅用普通鍵盤就可以完成所有編輯工作,完全不倚賴于鼠標和控制鍵。盡管如此,vi還是提供了對現(xiàn)代鍵盤上的編輯鍵的支持。適當?shù)厥褂眠@些熟悉的按鍵將使編輯操作更加輕松。表3-1列出了這些鍵在不同模式下的作用。
3.2.1 光標移動
在輸入或修改文本前,應先將光標移到適當?shù)奈恢谩i不支持用鼠標定位光標,只可以用命令或按鍵來移動光標。以下是常用的光標移動命令:
3.2.2 輸入與刪除
1. 文本的輸入
在輸入文本內容之前,應先將光標定位在要輸入的位置上,然后執(zhí)行插入命令,進入插入模式。處于插入模式時,屏幕底部會顯示“INSERT”提示,表示后續(xù)的輸入都作為文件的輸入內容。輸入完成后按Esc鍵就可返回命令模式。
插入命令都是單字符命令,包括a(append)命令、i(insert)命令和o(open)命令。用這些命令可以靈活地實現(xiàn)在當前光標位置的前、后、行首、行尾、上一行、下一行開始輸入。常用的插入命令如下:
2. 文本的刪除
刪除文本的最簡單方法是將光標移到要刪除的位置,然后按Delete鍵刪當前字符,或按Backspace鍵刪光標前的字符。當要刪除的文本較多時,使用d(delete)命令更為靈活。
以下是常用的刪除命令:
例3.2插入與刪除命令的用法(下劃線處為光標位置)。
3.2.3 修改與替換
1. 文本的修改
文本修改是指改寫部分文本的內容,對應的是c(correct)命令。修改的過程是:先刪除指定范圍內的文本,然后插入新文本,最后用Esc鍵結束插入。以下是常用的修改命令:
2. 文本的替換與替代
替換是指用一個字符替換另一個字符,對應的是r(replace)命令。替換是一種覆蓋操作,替換后文本的長度保持不變。替代則是指用多個字符取代一個字符或一行,對應的是s(substitute)命令。替代是一個先刪除后插入的操作。通常情況下,替代后的文本長度會發(fā)生變化。
例3.3修改、替換與替代命令的用法。
3.2.4 復制、粘貼與選擇
1. 文本的復制與粘貼
vi中設置了專門的緩沖區(qū),其作用相當于剪貼板。復制操作是將指定的文本復制到剪貼板中,對應的是y(yank)命令;粘貼操作是將剪貼板中的內容插入到文本中,對應的是p(put)命令。此外,前面介紹的刪除命令其實是剪切操作,被刪除的文本并沒有真正消失,而是暫存到剪貼板中,可以再粘貼到文本中。
以下是常用的復制粘貼命令:
2. 文本的選擇
選擇就是用可視化方式選定文本的范圍,對應的是v(visual)命令。輸入選擇命令后vi即進入可視模式,此時使用光標移動命令即可將移動范圍內的文本選中。選中的文本會以高亮方式直觀地顯示出來,之后可對選中的文本進行復制、刪除、修改、替換等操作。輸入操作命令或按Esc鍵即退出可視模式。
以下是常用的選擇命令:
例3.4選擇、復制與粘貼命令的用法,如圖3-3所示。圖3-3選擇、復制與粘貼命令用法示意圖3-3選擇、復制與粘貼命令用法示意
3.2.5 撤銷與重做
撤銷即消除上一個命令所做的修改,恢復到命令執(zhí)行前的樣子。重做就是重復執(zhí)行上一個命令。撤銷對應的命令是u(undo)命令,重做對應的命令是“.”命令,如下所示:
u 撤銷上一個命令所做的修改。
U 撤銷最近針對一行所做的全部修改。在對一行連續(xù)做了多處修改后,用此命令可以一次恢復全行。
. 重復執(zhí)行前一個命令。
3.3 vi常用末行命令
3.3.1 搜索與替換命令1. 字符串搜索要在一個大文件中查找某個字符串,可以用字符串搜索命令。執(zhí)行搜索命令后,光標將停留在第一個匹配字符串的首字符處。按n或N則移到下一個匹配字符串之首。如果不存在匹配的字符串,則會在末行上顯示“Patternnotfound”。
搜索命令有以下兩種:
2. 字符串替換
字符串替換使用s(substitute)命令,它的功能是在指定的行中搜索與指定模式相匹配的字符串,并用另一個字符串替換它。s命令的一般格式是:
例3.5?s命令的用法。
3. 全局搜索
全局搜索使用g(global)命令,其功能是在全文中搜索含有與指定模式相匹配的字符串的行,對匹配的行做標記。g命令的格式是:
:g/p1搜索所有包含p1字符串模式的行。
:g!/p1搜索所有不包含p1字符串模式的行。
4. 全局編輯
vi的許多末行命令都是針對行的編輯命令。g命令可以與這些命令聯(lián)合使用,其作用是為這些命令確定滿足某個條件的目標行。在g命令的作用下,這些面向行的編輯命令就可用來完成面向全文的編輯操作。全局編輯命令的格式是:
:g/p1/命令對所有包含p1的行執(zhí)行指定的命令。
:g!/p1/命令對所有不包含p1的行執(zhí)行指定的命令。
5. 全局替換
s命令是面向行的字符串替換命令。s命令經(jīng)常與g命令聯(lián)合使用,實現(xiàn)更靈活、更細致的全局替換功能。全局替換命令的一般格式是:
g命令/s命令
全局替換的含義是:先用g命令在文件中搜索含有某個模式的行,并做標記,然后用s命令對所有有標記的行執(zhí)行搜索和替換。
常用的全局替換命令的格式有:
例3.6全局替換命令的用法。
3.3.2 文件操作與退出命令
文件操作命令包括讀文件和寫文件操作。讀文件就是將文件的內容讀入編輯緩沖區(qū)中,寫文件就是將編輯緩沖區(qū)的內容保存到文件中。在退出vi時,可以選擇是否保存文件。以下是常用的退出和文件操作命令:
3.3.3 其他常用命令
1. 行編輯命令
行編輯命令用于對指定的行進行編輯。在指定行范圍時,可以用“.”代表當前行,用“$”代表最后一行,用“%”代表所有行。常用的行編輯命令如下:
2. 執(zhí)行Shell命令
用vi編輯文件時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025廚具購銷合同
- 游戲新紀元模板
- 研究探索之旅
- 應對學習壓力
- 2025捐贈協(xié)議合同樣本
- 2025租房合同補充協(xié)議書范本
- 2025農(nóng)產(chǎn)品購銷合同書范本
- 2025年國內購銷合同范本參考
- 2025年杭州市勞動合同示范文本
- 2025車輛買賣合同
- 2024華能四川能源開發(fā)有限公司下屬單位招聘筆試參考題庫附帶答案詳解
- 鋼結構高處作業(yè)安全管理
- JJF 2221-2025導熱系數(shù)瞬態(tài)測定儀校準規(guī)范
- 華為手機協(xié)議合同
- 甘肅省隴南市禮縣第六中學2024-2025學年八年級下學期第一次月考數(shù)學試卷(無答案)
- 公司兩班倒管理制度
- 完整版高中古詩文必背72篇【原文+注音+翻譯】
- 2025年武漢數(shù)學四調試題及答案
- 人教版小學四年級語文下冊2024-2025學年度第二學期期中質量檢測試卷
- 七年級下冊道德與法治(2025年春)教材變化詳細解讀
- 雞頭黃精栽培技術規(guī)程
評論
0/150
提交評論