版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
項目7Linux文本處理主講:***2024年1月2日Linux應用基礎(chǔ)項目化教程(RHEL8.2/CentOS8.2)12024年1月2日Linux應用基礎(chǔ)項目化教程(RHEL8.2/CentOS8.2)2本項目學習目標:1.知識目標2.能力目標掌握Linux操作系統(tǒng)中常用的文本處理工具;掌握VIM模式的概念,及相互間切換的操作方法;掌握常用功能的操作方法;了解Linux中其他文本處理工具。能熟練啟動或關(guān)閉VIM編輯器;能熟練使用VIM編輯器進行文本的編輯;能熟練掌握VIM的常用功能,例如:復制、粘貼、查找與替換、快速定位等;能根據(jù)需求,調(diào)整VIM工具的配置。2024年1月2日Linux應用基礎(chǔ)項目化教程(RHEL8.2/CentOS8.2)3學習任務任務7.1VIM概述
任務7.2VIM的模式任務7.3VIM常用功能2024年1月2日Linux應用基礎(chǔ)項目化教程(RHEL8.2/CentOS8.2)4任務7.1VIM概述Vim是隨Linux和UNIX系統(tǒng)分發(fā)的vi編輯器的升級版本,Vim有許多有用的功能,支持正則表達式的搜索,具有輕松重復命令的能力,可以直接記錄和執(zhí)行宏,能夠自動完成文件合并、鼠標集成、拼寫檢查、語法高亮顯示、分支撤銷/重做歷史等,支持流行的網(wǎng)絡(luò)協(xié)議和文件存檔格式。Vim還具有較強的可擴展性,有自己的腳本語言,稱為Vim腳本(也稱為VimScript或Viml)。用戶可以通過多種方式使用Vim腳本來擴展Vim的功能,如為其他編程語言開啟語法高亮顯示、語法檢查或?qū)im與其他應用程序和服務集成等。除可擴展性之外,Vim還具有可配置性,各個Vim之間可共享包含Vim核心全局配置(稱為vimrc)的文件。7.1.1什么是VIM2024年1月2日Linux應用基礎(chǔ)項目化教程(RHEL8.2/CentOS8.2)57.1.2Vim的啟動與退出1.啟動Vim在終端窗口中,啟動Vim通??梢允褂脙煞N方式。第一種方式是無參數(shù)啟動,在命令行模式下輸入“vim”命令啟動,啟動后,顯示Vim窗口,第二種方式是帶參數(shù)啟動,通常要指定一個文件名,如“vimtest.c”,若文件存在,則會直接打開該文件,,如圖7-1-2所示;若文件不存在,則會自動創(chuàng)建一個空文件。2024年1月2日Linux應用基礎(chǔ)項目化教程(RHEL8.2/CentOS8.2)6在圖中演示打開的“test.c”文件已經(jīng)存在,該文件中的內(nèi)容為一段簡單的C語言代碼,在窗口的右下角會顯示光標所在的位置,如“4,23-30”,其中4表示第4行,23-30表示當前光標所在的行的總長度為30個字符,其中光標指向的字符f為整行的第23個字符,最右側(cè)的“全部”表示當前窗口顯示文件的內(nèi)容情況,若全部文件內(nèi)容超出了一個屏幕的顯示范圍,則此處會按百分比顯示出當前窗口中的內(nèi)容在全部內(nèi)容中的位置。2024年1月2日Linux應用基礎(chǔ)項目化教程(RHEL8.2/CentOS8.2)72.退出Vim完成相應的配置調(diào)整或文件編輯任務后,可以退出Vim。通??梢栽诿钚心J较?,輸入一個冒號和“wq”,即可以保存并退出Vim;也可以直接輸入兩個大寫字母“Z”,實現(xiàn)保存并退出Vim。2024年1月2日Linux應用基礎(chǔ)項目化教程(RHEL8.2/CentOS8.2)8任務7.2VIM的模式Vim啟動后,通常會有幾種運行模式,包括命令模式、編輯模式、末行模式和可視化模式。在不同的模式中,按下鍵盤上相同的按鍵會產(chǎn)生不同的效果。(1)命令模式:當Vim處于命令模式時,從鍵盤輸入的內(nèi)容會被Vim當做命令來處理,如刪除、復制、粘貼等操作。(2)插入模式:又稱為編輯模式,在該模式下,從鍵盤輸入內(nèi)容,會被Vim當做文件的內(nèi)容寫入緩存區(qū)中。7.2.1VIM的模式2024年1月2日Linux應用基礎(chǔ)項目化教程(RHEL8.2/CentOS8.2)9(3)末行模式:又稱為底行模式,在該模式下,Vim可以執(zhí)行相應的保存、退出、查找、替換等操作。(4)可視化模式:在可視化模式下,用戶可以使用方向鍵在文件中進行相應針對文本塊的操作。初學者在使用Vim時,常常因不清楚Vim的模式,在使用過程混淆不同模式的操作。通常,在不帶任何參數(shù)啟動Vim后,Vim會直接進入命令模式。因此,建議初學者在不確定Vim當前所處的模式時,多按幾次【Ese】鍵,確認返回到命令模式后再進行操作。2024年1月2日Linux應用基礎(chǔ)項目化教程(RHEL8.2/CentOS8.2)107.2.2模式間的切換Vim模式之間的切換方式如圖所示。2024年1月2日Linux應用基礎(chǔ)項目化教程(RHEL8.2/CentOS8.2)111.插入模式表中列出了從命令模式切換到插入模式的命令鍵及其功能。正常啟動Vim后,在命令模式下通過按下相應的命令鍵,可以進入插入模式,進行文本內(nèi)容的編輯和輸入。當完成內(nèi)容的編輯和輸入后,按【Esc】鍵,可以返回命令模式。命令鍵功
能i光標位置不變,在光標前面插入內(nèi)容I將光標移動到行首,在行首開始插入內(nèi)容a將光標位置向后移動一個字符,然后在光標前面插入新的內(nèi)容A將光標移動到行尾,在行首開始插入新的內(nèi)容o在光標所在行的后面,新增一個空白行,插入內(nèi)容O在光標所在行的前面,新增一個空白行,插入內(nèi)容r/R(替換操作)r:僅替換光標所在位置的內(nèi)容R:從光標所在位置開始替換往后的內(nèi)容。2024年1月2日Linux應用基礎(chǔ)項目化教程(RHEL8.2/CentOS8.2)122.末行模式在命令模式下,輸入“:”可以進入末行模式,執(zhí)行查找、替換等操作,完成所需的操作后,按【Enter】鍵可直接返回到命令模式。表中給出了末行模式下的保存與退出命令,在通過Vim執(zhí)行寫入操作時,通常也需要注意文件權(quán)限及擁有關(guān)系的限制,若當前操作Vim的用戶對指定的文件沒有寫入權(quán)限,則其無法執(zhí)行保存操作。命
令作
用w將緩沖區(qū)中的內(nèi)容寫入當前的文件中,若當前編輯的內(nèi)容沒有指定文件名稱,則會提示沒有文件名稱,無法保存wfilename將緩沖區(qū)中的內(nèi)容寫入指定的文件中q當緩沖區(qū)中的內(nèi)容已經(jīng)被保存時,可以直接退出Vim,若緩沖區(qū)中還有內(nèi)容未處理,則會提示未保存,無法退出q!強制退出Vim,丟棄離上一次保存后當前緩沖區(qū)中的所有內(nèi)容wq保存緩沖區(qū)的內(nèi)容并退出wq!強制保存并退出2024年1月2日Linux應用基礎(chǔ)項目化教程(RHEL8.2/CentOS8.2)133.可視化模式在命令模式下,輸入v/V字母,或者【Ctrl+V】鍵,則可以進入可視化模式,按【Esc】鍵后可以退出該模式,返回到命令模式。2024年1月2日Linux應用基礎(chǔ)項目化教程(RHEL8.2/CentOS8.2)14任務7.3VIM常用功能1.復制在命令模式下,使用“yy”命令可復制光標所在的行,若需要復制多行,則可以使用“nyy”命令,其中n為一個具體的數(shù)字,表示從光標開始向后復制n行,若n超出實際長度,則復制當前內(nèi)容。7.3.1復制、粘貼與刪除2024年1月2日Linux應用基礎(chǔ)項目化教程(RHEL8.2/CentOS8.2)152.粘貼在命令模式下,若已經(jīng)使用“yy”或“nyy”命令復制了內(nèi)容,則可以使用“p”或“P”命令執(zhí)行粘貼操作,“p”命令表示將內(nèi)容粘貼到光標所在行的后面,“P”命令表示將內(nèi)容粘貼到光標所在行的前面,若需要將復制的內(nèi)容一次性粘貼多次,則可以在“p”或“P”命令前面,增加具體粘貼的次數(shù),如“5p”,表示將緩沖區(qū)的內(nèi)容粘貼到當前光標所在行后面5次。3.刪除在命令模式下,使用“dd”命令可執(zhí)行刪除操作,若需要刪除從光標處開始的n行,則在“dd”前面添加一個具體的數(shù)字。2024年1月2日Linux應用基礎(chǔ)項目化教程(RHEL8.2/CentOS8.2)167.3.2查找和替換1.查找用戶可以在末行下實現(xiàn)查找功能,若查找到相應的關(guān)鍵字,Vim會高亮顯示。表中給出了在末行模式下實現(xiàn)查找功能的命令。命
令功能及說明/keyword使用斜線(/)加上需要查找的關(guān)鍵字(keyword),表示從光標所在的行開始往后搜索,若有多個關(guān)鍵字時,輸入“n”,表示從當前的關(guān)鍵字向后跳轉(zhuǎn),輸入“N”,表示從當前的關(guān)鍵字向前跳轉(zhuǎn),若在多個關(guān)鍵字鍵跳轉(zhuǎn),已經(jīng)跳轉(zhuǎn)到了文件的開頭或末尾仍按鍵搜索(n/N),則表示重新從文檔的開頭或末尾繼續(xù)搜索。?keyword使用問號(?)加上需要查找的關(guān)鍵字(keyword),表示從光標所在的行開始往后搜索,若有多個關(guān)鍵字時,輸入“N”,表示從當前的關(guān)鍵字向后跳轉(zhuǎn),輸入“n”,表示從當前的關(guān)鍵字向前跳轉(zhuǎn),若在多個關(guān)鍵字鍵跳轉(zhuǎn),已經(jīng)跳轉(zhuǎn)到了文件的開頭或末尾仍按鍵搜索(n/N),則表示重新從文檔的開頭或末尾繼續(xù)搜索。2024年1月2日Linux應用基礎(chǔ)項目化教程(RHEL8.2/CentOS8.2)17在查找關(guān)鍵字時,若關(guān)鍵字為特殊字符,則需要進行轉(zhuǎn)義處理,在默認情況下,Vim中的一些字符有特殊含義,如“^”表示行首,“$”表示行尾,針對這類字符,用戶需做轉(zhuǎn)義處理,將其轉(zhuǎn)換為普通字符進行查找,轉(zhuǎn)義的格式為“\需轉(zhuǎn)義的特殊字符”。2024年1月2日Linux應用基礎(chǔ)項目化教程(RHEL8.2/CentOS8.2)182.替換在命令模式下,用戶可以實現(xiàn)替換操作。,通常,進行替換操作的匹配是以文本內(nèi)容的每行為單位進行匹配處理,替換命令的語法格式如下::m,ns/keyword-1/keyword-2/[iceg]內(nèi)
容說明m,nsm,n表示文件的第m行至第n行的區(qū)域,且m<n,s表示替換操作,若m是數(shù)字0,則表示從文件開頭開始替換,若n為“$”,則表示一直替換到文件的最后一行。若需要表示全文,可以使用“%”代替“m,n”/keyword-1表示替換前的關(guān)鍵字/keyword-2表示替換后的關(guān)鍵字,即用keyword-2替換keyword-1icegi、c、e、g為可選項,i表示忽略替換過程中keyword-1的大小寫情況,I則表示對大小寫是敏感的;若在替換過程中,每行有多個匹配的關(guān)鍵字,使用g選項可以一并替換每行中多次出現(xiàn)的關(guān)鍵字,若沒有使用g選項,則表示僅替換每行第一次出現(xiàn)的關(guān)鍵字;c表示confirm,即在每次替換前進行詢問確認;e用于控制是否顯示錯誤(error)提示2024年1月2日Linux應用基礎(chǔ)項目化教程(RHEL8.2/CentOS8.2)197.3.3跳轉(zhuǎn)與定位若用Vim打開的文件中的內(nèi)容較多,行數(shù)偏大時,需要通過翻頁進行操作,查找的效率較低,因此Vim提供了快速跳轉(zhuǎn)和定位功能。在命令模式下,輸入“gg”命令,可以快速跳轉(zhuǎn)到文件開頭第一行,若需要快速跳轉(zhuǎn)到文件的末尾,則輸入“G”命令,若需要定位到文件的某行處,可以使用“ngg”命令,n表示具體的行號。若在跳轉(zhuǎn)過程中,指定的行號超出了文件的最大行號,則默認會跳轉(zhuǎn)到文件的尾部。2024年1月2日Linux應用基礎(chǔ)項目化教程(RHEL8.2/CentOS8.2)207.3.4撤銷與重做在Vim中,若操作失誤,則可以使用相應的撤銷或重做功能快速還原。在命令模式下,使用“u”命令(表示undo)可以撤銷上一次的操作。使用【Ctrl+r】鍵,可以實現(xiàn)重做功能,即恢復上一次撤銷的內(nèi)容。2024年1月2日Linux應用基礎(chǔ)項目化教程(RHEL8.2/CentOS8.2)217.3.5語法高亮設(shè)置在實際的使用過程中,因個人使用習慣等因素,部分用戶需要開啟或關(guān)閉Vim的語法高亮顯示功能,該操作可以通過編輯Vim的默認配置文件“/etc/vimrc”進行。在“syntaxon”所在行的開頭加上一個雙引號即可注釋該行,關(guān)閉語法高亮顯示功能,取消注釋即可開啟該功能。若需要在命令行模式下臨時地關(guān)閉或開啟語法高亮顯示功能,則可以使用“syntaxon”或者“syntaxoff”命令,開啟或關(guān)閉語法高亮顯示的命令也可以縮寫為“synon”和“synoff”。執(zhí)行關(guān)閉語法高亮顯示命令“synoff”的結(jié)果,如圖所示。2024年1月2日Linux應用基礎(chǔ)項目化教程(RHEL8.2/CentOS8.2)227.3.6光標位置顯示及行號設(shè)置1.光標位置與語法高亮顯示功能的設(shè)置類似,Vim默認會在編輯器窗口的右下角,開啟光標位置顯示功能。若需要開啟或關(guān)閉該功能,則可以通過相應的命令進行臨時設(shè)置。開啟光標位置顯示功能的命令為“setruler”,關(guān)閉光標位置顯示功能的命令為“setnoruler”。2024年1月2日Linux應用基礎(chǔ)項目化教程(RHEL8.2/CentOS8.2)232.行號用戶可以在“/etc/vimrc”文件的末尾,通過增加或刪除“setnumber”命令實現(xiàn)行號顯示功能的開啟或關(guān)閉。在用Vim進行編輯時,也可以在末行模式下通過輸入“setnumber”,命令臨時開啟行號顯示功能,或者輸入“setnonumber”命令臨時關(guān)閉行號顯示功能,如圖所示。2024年1月2日Linux應用基
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度采摘園特色農(nóng)產(chǎn)品品牌授權(quán)合同2篇
- 二零二五年度港口碼頭船舶燃油供應租賃合同4篇
- 2025年度臨時施工圍擋租賃及城市景觀維護合同4篇
- 二零二五年度高性能鋁模施工分包合作協(xié)議4篇
- 二零二五年文化產(chǎn)業(yè)投資與版權(quán)合作合同協(xié)議書
- 二零二五年鍋爐安裝與節(jié)能政策支持合同
- 2025年洗車行員工培訓及招聘服務合同3篇
- 二零二五年度硫酸產(chǎn)品售后服務協(xié)議4篇
- 2025年度餐飲業(yè)顧客滿意度提升售后服務代理協(xié)議書3篇
- 二零二五版農(nóng)產(chǎn)品儲藏租賃合同模板3篇
- 銀行會計主管年度工作總結(jié)2024(30篇)
- 教師招聘(教育理論基礎(chǔ))考試題庫(含答案)
- 2024年秋季學期學校辦公室工作總結(jié)
- 上海市12校2025屆高三第一次模擬考試英語試卷含解析
- 三年級數(shù)學(上)計算題專項練習附答案集錦
- 長亭送別完整版本
- 《鐵路軌道維護》課件-更換道岔尖軌作業(yè)
- 股份代持協(xié)議書簡版wps
- 職業(yè)學校視頻監(jiān)控存儲系統(tǒng)解決方案
- 《銷售心理學培訓》課件
- 2024年安徽省公務員錄用考試《行測》真題及解析
評論
0/150
提交評論