新聞中心
Linux VI查找含空格字符串

Linux是一款自由、開放源代碼的Unix操作系統(tǒng),因其穩(wěn)定性、安全性、多用戶支持和多任務(wù)支持而備受歡迎。其中,VI是Linux操作系統(tǒng)中的一個(gè)重要編輯器,可以用于編輯各種文本文件,其功能強(qiáng)大,使用廣泛。但有時(shí)候我們在編輯文本的時(shí)候,需要查找含有空格的字符串,這時(shí)候我們該怎么做呢?在本文中,我們將會(huì)詳細(xì)介紹如何在Linux VI中查找含有空格的字符串。
在Linux VI中查找含有空格的字符串通常有兩種方式:一種是通過正則表達(dá)式來查找,另一種是通過特殊符號(hào)來查找。下面我們將分別進(jìn)行介紹:
一、通過正則表達(dá)式來查找
所謂正則表達(dá)式,就是由普通字符和元字符組成的特殊字符序列。在VI中使用正則表達(dá)式查找含空格的字符串,我們需要使用\來表示空格。比如,我們要查找含有“hello world”的字符串,可以在VI的命令模式下輸入如下命令:
/ hello\ world
其中/是查找命令,hello\ world是需要查找的字符串,\代表空格字符。如果VI中存在含有“hello world”字符串的行,那么VI就會(huì)把這些行進(jìn)行高亮顯示。注意,VI查找時(shí)大小寫敏感。
如果查找的字符串比較長,可以在命令模式下使用正則表達(dá)式縮寫“\zs”和“\ze”,這樣可以縮小查找范圍。比如,我們要查找含有“hello world”且在這兩個(gè)單詞中間有一個(gè)空格的字符串,可以在VI的命令模式下輸入如下命令:
/ hello\zs\ \ze world
其中\(zhòng)zs表示匹配起始位置,\ze表示匹配結(jié)束位置,以此為依據(jù),VI會(huì)縮小查找范圍,只查找hello和world之間有一個(gè)空格的字符串。
二、通過特殊符號(hào)來查找
除了正則表達(dá)式外,VI還提供了另一種查找含有空格的字符串的方法,就是通過特殊符號(hào)來查找。具體方法如下:
1. 在VI的命令模式下輸入/,然后輸入查找字符串的起始位置,比如“hello”;
2. 在起始位置后加入“\ \%”符號(hào),比如“hello\ %”;
3. 繼續(xù)輸入下一個(gè)單詞的首字母,比如“w”;
4. 繼續(xù)輸入“\w+”,這個(gè)符號(hào)表示盡可能匹配該單詞,比如“world”。
在Linux VI中,查找含有空格的字符串的方法有兩種:一種是通過正則表達(dá)式來查找,另一種是通過特殊符號(hào)來查找。無論使用哪種方法,都需要花費(fèi)一定的時(shí)間和精力。因此,我們需要熟練掌握VI編輯器的使用方法,才能更好地進(jìn)行文本編輯工作。希望本文對(duì)你的Linux VI使用有所幫助。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線:028-86922220linux 怎么使用vi編輯器
給點(diǎn)參考吧
還蠻詳細(xì)的
vi文本編輯器的使用
一.vi的模式
命令模式:vi啟動(dòng)默認(rèn)進(jìn)入的模式,可進(jìn)入輸入?!眎”,或末行模式(:),除了可以完成命令的功能外,也是后兩種模式的轉(zhuǎn)換點(diǎn)
輸入模式:即文本輯輯狀態(tài),最后一行顯示”– INSERT –“提示,按ESC返回到命令模式
末行模式:可完成一些復(fù)雜操作,以”:”開始,執(zhí)行完一個(gè)末行命令后自動(dòng)返回命令模式
二.基本使用
1.vi 編輯器的啟動(dòng)與退出:
(1).使用命令”vi”直接進(jìn)入編輯環(huán)境
(2).在命令模式下輸入”:q!”,可以強(qiáng)行退出編輯環(huán)境,對(duì)文件修改不進(jìn)行保存
(3).以文件名作為”vi”命令的參數(shù)時(shí),若存在此文件,則vi可對(duì)內(nèi)容進(jìn)肢嘩行編輯,若不存在,打開以參數(shù)名命名的空文件
2.文件操作:
(1).打開新文件:在末行模式下”:e filename”關(guān)閉當(dāng)前文件并打開新文件,”:e! filename 強(qiáng)制關(guān)閉當(dāng)前文件并打開新文件”
(2).讀取文件內(nèi)容到當(dāng)前文件:”:r filename”,讀取的文件內(nèi)容粘貼到當(dāng)前文件光標(biāo)所在行的下面
(3)保存文件:命令為”:w “,如果文件已經(jīng)命名,可直接使用”:w”命令的參數(shù),如果沒有命名,之一次保存時(shí)需指定文件名作為參數(shù)
(4).另存為文件:命令為”:w filename”,只保存到新文件,而不更新原來文件的內(nèi)容
(5).退出vi編輯器:退出格式為”:q”,保存并退出為”:wq”,強(qiáng)行退出為”:q!”
3.光標(biāo)的移動(dòng)操作(命令模式下)
(1).光標(biāo)方向移動(dòng):”h”左、”l”右、”k”上、”j”下
(2).翻頁移動(dòng):”ctrl+f”前一頁、”ctrl+b”后一頁、”ctrl+u”前半頁、”ctrl+d”后半頁
(3).行內(nèi)快速跳轉(zhuǎn):”^”本行首字符、”$”本行尾字符、”w”后一單詞首字母、”b”前一單詞首字母、”e”后一單詞尾字母;可添加數(shù)字組合使用,例如:”3w”后三個(gè)單詞首字母、”4b”前4個(gè)單詞首字母、”5e”后5個(gè)單詞尾字母
(4).文件內(nèi)行間跳轉(zhuǎn):顯示行號(hào)”:set nu”,取消顯示行號(hào)”:set nonu”,”1G”跳轉(zhuǎn)到首行,”G”跳轉(zhuǎn)到末尾行,”#G”跳轉(zhuǎn)到第#行
4.編輯操作
(1).進(jìn)行輸入模式:”i”當(dāng)前光標(biāo)處,”a”當(dāng)前光標(biāo)后,”A”當(dāng)前行末,”o”當(dāng)前行下插入新行,”O(jiān)”當(dāng)前行上插入新行,”cw”刪除當(dāng)前光標(biāo)到所在尾部字符,”c$”刪除當(dāng)前光標(biāo)到行尾的字符,”c^”刪除當(dāng)前光標(biāo)(不包括)之前到行首的字符;以上記憶如有困難,可只記”i”從命令模式進(jìn)入輸入模式,完成編輯后”Esc”退回到命令模式
(2).輸入模式的操作:上下左右方向進(jìn)行光標(biāo)移動(dòng),”Home/End”定位光標(biāo)到行首行尾,”Page Up /Down”上下翻頁,”Backspace”左側(cè)字符的刪除,”Delete”刪除光標(biāo)位置的字符
(3).刪除操作:在命令模式下,可用以下命令完成刪除操作,”x”光標(biāo)處單個(gè)字符,”dd”光標(biāo)所在行,”dw”當(dāng)前字符到單詞尾(含空格),”de”當(dāng)前字符到單詞尾(不含空格),”d$”當(dāng)前字符到行尾,”d^”當(dāng)前字符到行首,”J”合并當(dāng)前行與下一行的內(nèi)容,可添加數(shù)字配合使用,例如”3x”當(dāng)前光標(biāo)向右3個(gè)字符,”2dd”從當(dāng)前行開始向下兩行文本,”3dw”當(dāng)前光標(biāo)向右3個(gè)單詞,”2de”當(dāng)前光標(biāo)向右兩個(gè)單詞(保留一個(gè)空格),”5J”合并5行文本
(4).撤銷操作:在命令模式下,”u”取消最近一次操作,可重復(fù)使用,”U”取消對(duì)當(dāng)前行進(jìn)行的所有操作,”Ctrl+R”對(duì)”u”產(chǎn)生的撤消進(jìn)行恢復(fù)
(5).復(fù)制操作:”yy”整行,”yw”光標(biāo)到單詞尾,”y$”光標(biāo)到行梁螞尾,”y^”光標(biāo)到行首;與數(shù)字組合使用,”5yy”當(dāng)前及后續(xù)共5行,”3yw”當(dāng)前光標(biāo)開始的3個(gè)單詞;末行命令”:m,ny”m行到n行之間的文本,例如:”:100,200y”100行到200的內(nèi)容
(6).粘貼操作:在命令模式下,使用”p”將緩沖區(qū)中的內(nèi)容粘貼到當(dāng)前文檔
5.查找與替換操作(末行模式)
(1).自上而下:”:/word”查找指定的字符串,”n”查找下一個(gè)(自上而下)歷渣行”N”反向查找下一個(gè)(自下而上)
(2).自下而上:”:?word”自下而上查找指定字符串,”n”查找下一個(gè)(自下而上)”N”反向查找下一個(gè)(自上而下)
(3).普通替換:”:s/old/new”由s開始,”old”指被替換的字符串,”new”替換成哪個(gè)字符串,此命令只替換當(dāng)前行中之一個(gè)匹配的字符串
(4).行內(nèi)全部替換:”:s/old/new/g”,當(dāng)前行內(nèi)所有匹配的字符串
(5).在行區(qū)域內(nèi)進(jìn)行替換:”:#,#s/old/new/g”,”#,#”表示兩個(gè)行號(hào)之間的行區(qū)域,例如”3,5″表示第3行到第5行
(6).整個(gè)文件內(nèi)的替換操作:”:%s/old/new/g”,加%表示整篇文檔,危險(xiǎn),慎用
(7).使用替換確認(rèn)功能:在原替換命令后加”c”可提供確認(rèn)功能,例如:”:s/old/new/c”,”:s/old/new/gc”,”:#,#s/old/new/gc”,”:%s/old/new/gc”;替換命令確認(rèn)后的提示為”replace with word (y/n/a/q/l/^E/^Y) ?”,其中”y”替換,”n”放棄,”a”所有,”q”退出
三、編輯器的多文件操作
1.多文件操作的vi啟動(dòng):”vi ..”后跟多個(gè)文件名作為參數(shù)即可,之一個(gè)參數(shù)顯示在屏幕上,其它文件處于編輯后臺(tái)狀態(tài)
2.多文件切換命令:
(1).顯示多文件信息:”:args”結(jié)果中顯示打開的文件,””內(nèi)為當(dāng)前顯示文件
(2).前后切換文件:”:next”顯示后一文件,”:prev”顯示前一文件,加”!”為強(qiáng)制切換,不保存當(dāng)前文件
(3).定位首文件和尾文件:”:first”定位首文件,”:last”定位尾文件
linux中vi編輯器怎樣使用
工具:
Linux
方法:
1、首先進(jìn)入Linux的
命令行界面
.在目錄下創(chuàng)建一個(gè)用于測試的文本文件(touch filename).這里就新建了一個(gè)test12文本文件銷清.當(dāng)然這個(gè)名字是可以隨便取得.
2、用”vi test12″命令進(jìn)入vi命令行模式(vi filename). 如果要想編輯文本文件.必須要轉(zhuǎn)換到插入模式下,也就是按一下鍵盤上的”i”虧頌前就可以了.這樣就可以編輯文本,刪除文本中的內(nèi)容.按鍵盤上的上下左右鍵.來回移動(dòng)了.就跟在windows 系統(tǒng)中編輯文本一樣.
3、輸入要輸入的內(nèi)容.如果想退出文本編輯模式.并且保存剛剛編輯的文本.首先點(diǎn)擊一下鍵盤上的”ESC”,然后輸入”:wq!”這樣就將文本保存了.然后推出了vi編輯器.如果不想保存就按一下鍵盤上的”ESC”,輸入”:q!”.如果不確定是否成功.可以通過”cat filename” 命令來查看.
4、光標(biāo)的移動(dòng)除了鍵盤上的上下左右鍵.也可以是小寫模式下,按鍵盤上的”h,j,k,l”,
“ctrl+b”:屏幕往后移動(dòng)一頁
“ctrl+f”:屏幕往前移動(dòng)一頁
“ctrl+u”:屏幕往后移動(dòng)半頁
“ctrl+d”:屏幕往前移動(dòng)半頁
輸入任何一個(gè)整數(shù),然后輸入”shift+G” 就可以到這一頁的開頭了.
按鍵盤上的大寫”G”移動(dòng)到文章的最后.
按”$”符號(hào)將光標(biāo)移動(dòng)到行尾
“^”將光標(biāo)移到行頭
“w”:將光標(biāo)移到下一行頭
“b”:跟”w”相反.移到上一行行頭
“e”:將光標(biāo)移到下一行尾.
如果想讓文本顯示行號(hào).就在命令行 模式下,在文本最后輸入”:set nu”命令.就可以了
5、復(fù)制 「yw」:將光標(biāo)所在之處到字尾的字符復(fù)櫻毀制到緩沖區(qū)中。 「yy」:復(fù)制光標(biāo)所在行到緩沖區(qū)。 「#yy」:例如,「6yy」表示拷貝從光標(biāo)所在的該行”往下數(shù)”6行文字。 「p」:將緩沖區(qū)內(nèi)的字符貼到光標(biāo)所在位置。注意:所有與”y”有關(guān)的復(fù)制命令都必須與”p”配合才能完成復(fù)制與粘貼功能。
6、查找
用”/”加上要查找的內(nèi)容.例如”/hello”或者是”?hello”也是可以的.
7、替換 「r」:替換光標(biāo)所在處的字符。 ,按一下”r”然后輸入要即可. 「R」:替換光標(biāo)所到之處的字符,直到按下「ESC」鍵為止。
8、恢復(fù)上一次操作 「u」:如果誤執(zhí)行一個(gè)命令,可以馬上按下「u」,回到上一個(gè)操作。按多次”u”可以執(zhí)行多次恢復(fù).就相當(dāng)于”CTRL +Z”的操作.
Vim 是 Vi improved 的縮寫,是 vi 的改進(jìn)版。在Linux中,vi 被認(rèn)為是事實(shí)上的標(biāo)準(zhǔn)編輯器,因?yàn)椋?/p>
所有版本的 Linux 都帶有 vi 編輯器;
占用資源少;
與 ed、ex 等其他編輯器相比,vi 對(duì)用戶更加友好。
你可以使用 vi 編輯器編輯現(xiàn)有的文件,也可以創(chuàng)建一個(gè)新文件,還能以只讀模式打開文本文件。
進(jìn)入 vi 編輯器
可以通過以下方式進(jìn)入 vi 編輯器:
命令
描述
vi filename 如果filename存在,則打開;否則會(huì)創(chuàng)建一個(gè)新文件再打開。
vi -R filename 以只讀模式(只能查看不能編輯)打開現(xiàn)有文件。
view filename 以只讀模式打開現(xiàn)有文件。
例如,使用 vi 編輯器創(chuàng)建一個(gè)新文件并打開:$vi testfile
|
~
~
~
~
~
~
~
~
~
~
~
~
“testfile”
豎線(|)代表光標(biāo)的位置;波浪號(hào)(~)代表該行沒有任何內(nèi)容。如果沒有 ~,也看不到任何內(nèi)容,那說明這一行肯定是有空白字符(空格、tab 縮進(jìn)、換行符等)或不可見字符。
工作模式
進(jìn)一步了解 vi 之前先來了解一下 vi 的工作模式,vi 有三種工作模式:
1) 普通模式
由Shell進(jìn)入vi編輯器時(shí),首先進(jìn)入普通模式。在普通模式下,從鍵盤輸入任何字符都被當(dāng)作命令來橘首解釋。普通模式下沒有任何提示符,輸入命令后立即執(zhí)行,不需要回車,而且輸入的字符不會(huì)在屏幕上顯示出來。
普通模式下可以執(zhí)行命令、保存文件、移動(dòng)光標(biāo)、粘貼復(fù)制等。
2) 編輯模式
編輯模式主要用于文本的編輯。該模式銷猜下用戶輸入的任何字符都被作為文件的內(nèi)容保存起來,并在屏幕上顯示出來。
3) 命令模式
命令模式下,用戶可以對(duì)文件進(jìn)行一些高級(jí)處理。盡管普通模式下的命令可以完成很多功能,但要執(zhí)行一些如字符串查找、替換、顯示行號(hào)等操作還是必須要進(jìn)入命令模式。
注意:有些教程中稱有兩種工作模式,是把命令模式合并到普通模式。
工作模式切換:
在普通模式下輸入 i(插入虧伍型)、c(修改)、o(另起一行) 命令時(shí)進(jìn)入編輯模式;按 esc 鍵退回到普通模式。
在普通模式下輸入冒號(hào)(:)可以進(jìn)入命令模式。輸入完命令按回車,命令執(zhí)行完后會(huì)自動(dòng)退回普通模式。
提示:如果不確定當(dāng)前處于哪種模式,按兩次 Esc 鍵將回到普通模式。
退出 vi 編輯器
一般在命令模式下退出 vi 編輯器。
退出命令
說明
q 如果文件未被修改,會(huì)直接退回到Shell;否則提示保存文件。
q! 強(qiáng)行退出,不保存修改內(nèi)容。
wq w 命令保存文件,q 命令退出 vi,合起來就是保存并退出。
ZZ 保存并退出,相當(dāng)于 wq,但是更加方便。
退出之前,你也可以在 w 命令后面指定一個(gè)文件名,將文件另存為新文件,例如:w filename2
將當(dāng)前文件另存為 filename2。
注意:vi 編輯文件時(shí),用戶的操作都是基于緩沖區(qū)中的副本進(jìn)行的。如果退出時(shí)沒有保存到磁盤,則緩沖區(qū)中的內(nèi)容就會(huì)被丟失。
移動(dòng)光標(biāo)
為了不影響文件內(nèi)容,必須在普通模式(按兩次 Esc 鍵)下移動(dòng)光標(biāo)。使用下表中的命令每次可以移動(dòng)一個(gè)字符:
命令
描述
k 向上移動(dòng)光標(biāo)(移動(dòng)一行)
j 向下移動(dòng)光標(biāo)(移動(dòng)一行)
h 向左移動(dòng)光標(biāo)(移動(dòng)一個(gè)字符)
l 向右移動(dòng)光標(biāo)(移動(dòng)一個(gè)字符)
兩點(diǎn)提醒:
vi 是區(qū)分大小寫的,輸入命令時(shí)注意不要鎖定大寫。
可以在命令前邊添加一個(gè)數(shù)字作為前綴,例如,2j 將光標(biāo)向下移動(dòng)兩行。
當(dāng)然,還有很多其他命令來移動(dòng)光標(biāo),不過記住,一定要在普通模式(按兩次 Esc 鍵)下。
用來移動(dòng)光標(biāo)的命令
命令
說明
0 或 | 將光標(biāo)定位在一行的開頭。
$ 將光標(biāo)定位在一行的末尾。
w 定位到下一個(gè)單詞。
b 定位到上一個(gè)單詞。
( 定位到一句話的開頭,句子是以 ! . ? 三種符號(hào)來界定的。
) 定位到一句話的結(jié)尾。
{ 移動(dòng)到段落開頭。&&&&&&
} 移動(dòng)到段落結(jié)束。&&&&&&&&&
>> 向前移到下一個(gè)段落的開頭處。&&&&&&&&&&
n| 移動(dòng)到第 n 列(當(dāng)前行)。
1G 移動(dòng)到文件之一行。
G 移動(dòng)到文件最后一行。
nG 移動(dòng)到文件第 n 行。
:n 移動(dòng)到文件第 n 行。
H 移動(dòng)到屏幕頂部。
nH 移動(dòng)到距離屏幕頂部第 n 行的位置。
M 移動(dòng)到屏幕中間。
L 移動(dòng)到屏幕底部。
nL 移動(dòng)到距離屏幕底部第 n 行的位置。
x 是一個(gè)數(shù)字,表示移動(dòng)到行號(hào)為 x 的行。
控制命令
有一些控制命令可以與 Ctrl 鍵組合使用,如下:
命令
描述
CTRL+d 向前滾動(dòng)半屏
CTRL+f 向前滾動(dòng)全屏
CTRL+u 向后滾動(dòng)半屏
CTRL+b 向后滾動(dòng)整屏
CTRL+e 向上滾動(dòng)一行
CTRL+y 向下滾動(dòng)一行
CTRL+I 刷新屏幕
編輯文件
切換到編輯模式下才能編輯文件。有很多命令可以從普通模式切換到編輯模式,如下所示:
命令
描述
i 在當(dāng)前光標(biāo)位置之前插入文本
I 在當(dāng)前行的開頭插入文本
a 在當(dāng)前光標(biāo)位置之后插入文本
A 在當(dāng)前行的末尾插入文本
o 在當(dāng)前位置下面創(chuàng)建一行
O 在當(dāng)前位置上面創(chuàng)建一行
刪除字符
下面的命令,可以刪除文件中的字符或行:
命令
說明
x 刪除當(dāng)前光標(biāo)下的字符
X 刪除光標(biāo)前面的字符
dw 刪除從當(dāng)前光標(biāo)到單詞結(jié)尾的字符
d^ 刪除從當(dāng)前光標(biāo)到行首的字符
d$ 刪除從當(dāng)前光標(biāo)到行尾的字符
D 刪除從當(dāng)前光標(biāo)到行尾的字符
dd 刪除當(dāng)前光標(biāo)所在的行
可以在命令前面添加一個(gè)數(shù)字前綴,表示重復(fù)操作的次數(shù),例如,2x 表示連續(xù)兩次刪除光標(biāo)下的字符,2dd 表示連續(xù)兩次刪除光標(biāo)所在的行。
建議各位讀者多加練習(xí)上面的命令,再進(jìn)一步深入學(xué)習(xí)。
修改文本
如果你希望對(duì)字符、單詞或行進(jìn)行修改,可以使用下面的命令:
命令
描述
cc 刪除當(dāng)前行,并進(jìn)入編輯模式。
cw 刪除當(dāng)前字(單詞),并進(jìn)入編輯模式。
r 替換當(dāng)前光標(biāo)下的字符。
R 從當(dāng)前光標(biāo)開始替換字符,按 Esc 鍵退出。
s 用輸入的字符替換當(dāng)前字符,并進(jìn)入編輯模式。
S 用輸入的文本替換當(dāng)前行,并進(jìn)入編輯模式。
粘貼復(fù)制
vi 中的復(fù)制粘貼命令:
命令
描述
yy 復(fù)制當(dāng)前行
nyy 復(fù)制n行
yw 復(fù)制一個(gè)字(單詞)
nyw 復(fù)制n行
p 將復(fù)制的文本粘貼到光標(biāo)后面
P 將復(fù)制的文本粘貼到光標(biāo)前面
高級(jí)命令
下面的一些命令雖然看起來有些古怪,但是會(huì)讓你的工作更有效率,如果你是 vi 重度用戶,就了解一下吧。
命令
說明
J 將當(dāng)前行和下一行連接為一行
> 將當(dāng)前行右移一個(gè)單位(一個(gè)縮進(jìn)寬度)
~ 改變當(dāng)前字符的大小寫
^G Ctrl+G組合鍵可以顯示當(dāng)前文件名和狀態(tài)
U 撤銷對(duì)當(dāng)前行所做的修改
u 撤銷上次操作,再次按 ‘u’ 恢復(fù)該次操作
:f 以百分號(hào)(%)的形式顯示當(dāng)前光標(biāo)在文件中的位置、文件名和文件的總行數(shù)
:f filename 將文件重命名為 filename
:w filename 保存修改到 filename
:e filename 打開另一個(gè)文件名為 filename 的文件
:cd dirname 改變當(dāng)前工作目錄到 dirname
:e # 在兩個(gè)打開的文件之間進(jìn)行切換
:n 如果用 vi 打開了多個(gè)文件,可以使用 :n 切換到下一個(gè)文件
:p 如果用 vi 打開了多個(gè)文件,可以使用 :n 切換到上一個(gè)文件
:N 如果用 vi 打開了多個(gè)文件,可以使用 :n 切換到上一個(gè)文件
:r file 讀取文件并在當(dāng)前行的后邊插入
:nr file 讀取文件并在第 n 行后邊插入
文本查找
如果希望進(jìn)行全文件搜索,可以在普通模式(按兩次 Esc 鍵)下輸入 / 命令,這時(shí)狀態(tài)欄(最后一行)出現(xiàn)”/”并提示輸入要查找的字符串,回車即可。
/ 命令是向下查找,如果希望向上查找,可以使用 ? 命令。
這時(shí),輸入 n 命令可以按相同的方向繼續(xù)查找,輸入 N 命令可以按相反的方向繼續(xù)查找。
搜索的字符串中可以包含一些有特殊含義的字符,如果希望搜索這些字符本身,需要在前面加反斜杠(\)。
部分特殊字符列表
字符
說明
^ 匹配一行的開頭
. 匹配一個(gè)字符
* 匹配0個(gè)或多個(gè)字符
$ 匹配一行的結(jié)尾
匹配一組字符
如果希望搜索某行中的單個(gè)字符,可以使用 f 或 F 命令,f 向上搜索,F(xiàn) 向下搜索,并且會(huì)把光標(biāo)定位到匹配的字符。
也可以使用 t 或 T 命令:t 命令向上搜索,并把光標(biāo)定位到匹配字符的前面;T 命令向下搜索,并把光標(biāo)定位到匹配字符的后面。
set 命令
set 命令可以對(duì) vi 編輯器進(jìn)行一些設(shè)置。使用 set 命令需要進(jìn)入命令模式。
:set 命令選項(xiàng)
命令
說明
:set ic 搜索時(shí)忽略大小寫。
:set ai 設(shè)置自動(dòng)縮進(jìn)(自動(dòng)對(duì)齊)。
:set noai 取消自動(dòng)縮進(jìn)(自動(dòng)對(duì)齊)。
:set nu 顯示行號(hào)。
:set sw 設(shè)置縮進(jìn)的空格數(shù),例如,將縮進(jìn)空格數(shù)設(shè)置為4::set sw=4。
:set ws 循環(huán)搜索:如果直到文件末尾也沒有查找到指定字符,那么會(huì)回到開頭繼續(xù)查找。
:set wm 設(shè)置自動(dòng)換行,例如,設(shè)置距離邊際2個(gè)字符時(shí)換行::set wm=2 。
:set ro 將文件類型改為只讀。
:set term 輸出終端類型。
:set bf 忽略輸入的控制字符,如 BEL(響鈴)、BS(退格)、CR(回車)等。
運(yùn)行命令
切換到命令模式,再輸入 ! 命令即可運(yùn)行 Linux 命令。
例如,保存文件前,如果希望查看該文件是否存在,那么輸入:! ls
即可列出當(dāng)前目錄下的文件。
按任意鍵回到 vi 編輯器。
文本替換
切換到命令模式,再輸入 s/ 命令即可對(duì)文本進(jìn)行替換。語法為::s/search/replace/g
search 為檢索的文本,replace 為要替換的文本,g 表示全局替換。
1.ubuntu上的vi編輯器
默認(rèn)情況下ubuntu上也安裝有vi但是奇怪的是這個(gè)vi是vim-common版本,基本上用不了所以要先把這個(gè)版本的vi卸載掉才可以,卸載命令是
sudo apt-get remove vim-common
卸載成功之后接著執(zhí)行 sudo apt-get install vim,安裝好之后就能使用了
2.vi編輯器應(yīng)該怎么用仿茄
vi編輯器需要在終端里才能很好的使用,需要記住的是vi有三種模式分別是命令模式、插入模式、末行模式,我們輸入vi 文件名稱 首先看到的就是命令模式,輸入i就進(jìn)入例如插入模式,在插入模式里只允許輸入或編輯,如果要保存文件必須按esc這樣就返回了命令模式,之后輸入:wq 就可以保存文件并退出了
這個(gè)界面是我在終端輸入vi 02.txt出現(xiàn)的界面,這個(gè)就是命令模式的界面了,輸入i就可以輸入文字了
文字插入后按一下esc退出插入模式,轉(zhuǎn)到命令模式,輸入 :wq 保敏大信存并退出
我們可以看到目錄里面生成了02.txt
3.使用vi命令編輯多個(gè)文件
編輯多個(gè)文件的命令是vi 文件1 文件2 文件3…..
多個(gè)文件的編輯和上面類似,只是保存文件那一步有點(diǎn)區(qū)別,先前是在命令模式下輸入:wq ,多個(gè)文件就不行了,每編輯并保存了一個(gè)文件應(yīng)輸入:wn進(jìn)入下一個(gè)文件;如果要返回編輯上一個(gè)文件就輸入:wprev就OK了
4.一些常用的vi命令
進(jìn)入vi的命令
vi filename :打開或新建文件,并將光標(biāo)置于之一行首
vi +n filename :打開文件,并將光標(biāo)置于第n行首
vi + filename :打開文件,并將光標(biāo)置于最后一行首
vi +/pattern filename:打開文件,并將光標(biāo)置于之一個(gè)與pattern匹配的串處
vi -r filename :在上次正用vi編輯時(shí)發(fā)生系統(tǒng)崩潰,恢復(fù)filename
vi filename….filename :打開多個(gè)文件,依次進(jìn)行編輯
移動(dòng)光標(biāo)類命令
h :光標(biāo)左移一個(gè)字符
l :光標(biāo)右移一個(gè)字符
space:光標(biāo)右移一個(gè)字符
Backspace:光標(biāo)左移一個(gè)字符
k或Ctrl+p:光標(biāo)上移一行
j或Ctrl+n :光標(biāo)下移一行
Enter :光標(biāo)下移一行
w或W :光標(biāo)右移一個(gè)字至字首
b或B :光標(biāo)左移一個(gè)字至字首
e或E :光標(biāo)右移一個(gè)字至字尾
) :光標(biāo)移至句尾
( :光標(biāo)移至句首
}:光標(biāo)移至段落開頭
{:光標(biāo)移至段落結(jié)尾
nG:光標(biāo)移至第n行首
n+:光標(biāo)下移n行
n-:光標(biāo)上移n行
n$:光標(biāo)移至第n行尾
H :光標(biāo)移至屏幕頂行
M :光標(biāo)移至屏幕中間行
L :光標(biāo)移至屏幕最后行
0:橋輪(注意是數(shù)字零)光標(biāo)移至當(dāng)前行首
$:光標(biāo)移至當(dāng)前行尾
屏幕翻滾類命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:將第n行滾至屏幕頂部,不指定n時(shí)將當(dāng)前行滾至屏幕頂部。
VI編輯器使沖漏用運(yùn)判歷技巧旁搜:
vi myfile.c
a
int main()
esc
Linux中vivim命令大全
一、一般模式:刪除、復(fù)制與粘貼類命令
x,X
x為向后刪除一個(gè)字符,X為先前刪除一個(gè)字符
nx(n代表數(shù)字)
向后刪除n個(gè)字符
dd
刪除當(dāng)前行
D
刪除當(dāng)前行所有字符,試成為空行
ndd(n代表數(shù)字)
刪除光標(biāo)所在行的向下n列
d1G
刪除光標(biāo)所在行到之一行的所有數(shù)據(jù)
dG
刪除光標(biāo)所在行到最后一行的所有數(shù)據(jù)
yy
復(fù)制光標(biāo)所在行
y1G
復(fù)制光標(biāo)所在行到之一行的所有數(shù)據(jù)
yG
復(fù)制光標(biāo)所在行到最后一行的所有數(shù)據(jù)
ynj(n代表數(shù)字)
復(fù)制光標(biāo)所在行向下n+1行
dnj(n代表數(shù)字)
刪除光標(biāo)所在行向下n+1行
p,P
p為復(fù)制的數(shù)據(jù)粘貼在光標(biāo)的下一行,P為復(fù)制的數(shù)據(jù)粘貼在光標(biāo)的上一行
J
將光標(biāo)所在行與下一行的數(shù)據(jù)結(jié)合成一行
u
恢復(fù)前一個(gè)動(dòng)作(undo)
二、編輯模式命令
i,I
i為在當(dāng)前光標(biāo)所在處插入輸入的文字,I為在光標(biāo)所在行之一個(gè)非空字符插入輸入的文字
a,A
a為在當(dāng)前光標(biāo)所在處下一個(gè)字符插入輸入的文字,A為在光標(biāo)所在行最后一個(gè)字符的下一個(gè)字符處插入輸入的文字
o,O
o為在光標(biāo)所在行的下一行行首開始插入字符,O為在光標(biāo)所在行的上一行行首開始插入字符
r,R
r為替換光標(biāo)所在那一個(gè)字符,R為一直替換光標(biāo)所指的文字,直到退出
Esc
退出,回到一般模式
三、命令模式
h
光標(biāo)向左移一個(gè)字符
j
光標(biāo)向下移一個(gè)字符
k
光標(biāo)向上移一個(gè)字符
l
光標(biāo)向右移一個(gè)字符
Ctrl+f
屏幕向下翻一頁
Ctrl+b
屏幕向上翻一頁
Ctrl+d
屏幕向下翻半頁
Ctrl+u
屏幕向上翻半頁
+
光標(biāo)移動(dòng)到下一行的之一個(gè)非空字符
-
光標(biāo)移動(dòng)到當(dāng)前行的之一個(gè)非空字符
n空格(n代表數(shù)字)
光標(biāo)向當(dāng)前行寬碼脊向右移動(dòng)n個(gè)字符
0(數(shù)字0)
光標(biāo)移動(dòng)到當(dāng)前行的之一個(gè)字符(可以為空字符,注意與-區(qū)分)
$
光標(biāo)移動(dòng)到當(dāng)前行的最后一個(gè)字符(可以為空字符,注意與-區(qū)分)
H
光標(biāo)移動(dòng)到當(dāng)前屏幕最上方的那一行的之一個(gè)非空字符
M
光標(biāo)移動(dòng)到當(dāng)前屏幕最中間那一行的之一個(gè)非空字符
L
光標(biāo)移動(dòng)到當(dāng)前屏幕最下方的那一行的之一個(gè)非空字符
G
光標(biāo)移動(dòng)到該文章最后一行的之一個(gè)非空字符
nG(n代表數(shù)字)
光標(biāo)移慎滲動(dòng)到該文章第n行的之一個(gè)非空字符
n
光標(biāo)從當(dāng)前行向下移動(dòng)n行的之一個(gè)非空字符
/word
在光標(biāo)之后查找模碼word字符串
?word
在光標(biāo)之前查找word字符串
:s/word1/word2/g
在光標(biāo)當(dāng)前行查找word1,并替換成word2
:n1,n2s/word1/word2/g
在第n1行與第n2行之間查找word1,并替換成word2
:%s/word1/word2/g
整個(gè)文章查找word1,并替換成word2
:w
將編輯的數(shù)據(jù)保存到硬盤文件中
:w
將編輯后的數(shù)據(jù)保存到硬盤的另一個(gè)文件中
:r
在編輯數(shù)據(jù)時(shí),讀入另一個(gè)文件中的數(shù)據(jù),即將filename文件中的內(nèi)容加到光標(biāo)所在行下一行
:wq或:x
保存并退出
:q
退出,適用于未修改的文件
:q!
強(qiáng)制退出,適用于修改文件后不保存退出
:set
nu
顯示行號(hào)
:set
nonu
取消行號(hào)
:n1,n2
w
關(guān)于linux vi 查找字符串包含空格的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
創(chuàng)新互聯(lián)【028-86922220】值得信賴的成都網(wǎng)站建設(shè)公司。多年持續(xù)為眾多企業(yè)提供成都網(wǎng)站建設(shè),成都品牌建站設(shè)計(jì),成都高端網(wǎng)站制作開發(fā),SEO優(yōu)化排名推廣服務(wù),全網(wǎng)營銷讓企業(yè)網(wǎng)站產(chǎn)生價(jià)值。
分享題目:linuxvi查找含空格字符串(linuxvi查找字符串包含空格)
標(biāo)題路徑:http://m.fisionsoft.com.cn/article/dpdohoo.html


咨詢
建站咨詢
