導航:首頁 > 程序命令 > vi編輯器中查找關鍵字的命令

vi編輯器中查找關鍵字的命令

發布時間:2022-12-13 21:40:15

⑴ 關於linux操作系統中VI編輯器字元串查找

使用vi編輯器編輯長文件時,常常是頭昏眼花,也找不到需要更改的內容。
這時,使用查找功能尤為重要。
方法如下:
1、命令模式下輸入「/字元串」,例如「/Section
3」。
2、如果查找下一個,按「n」即可。

⑵ 請教VI的用法,如何在VI裡面使用查找命令

使用vi編輯器編輯長文件時
方法如下:

1、命令模式下輸入「/字元串」,例如「/Section 3」。

2、如果查找下一個,按「n」即可。

要自當前游標位置向上搜索,請使用以下命令:

/pattern Enter

其中,pattern表示要搜索的特定字元序列。

要自當前游標位置向下搜索,請使用以下命令:

?pattern Enter

按下 Enter鍵後,vi 將搜索指定的pattern,並將游標定位在 pattern的第一個字元處。
例如,要向上搜索 place一詞,請鍵入:
www.2cto.com
vi 查找替換大全

vi/vim 中可以使用 :s 命令來替換字元串。以前只會使用一種格式來全文替換,今天發現該命令
有很多種寫法(vi 真是強大啊,還有很多需要學習),記錄幾種在此,方便以後查詢。

:s/vivian/sky/ 替換當前行第一個 vivian 為 sky

:s/vivian/sky/g 替換當前行所有 vivian 為 sky

:n,$s/vivian/sky/ 替換第 n 行開始到最後一行中每一行的第一個 vivian 為 sky

:n,$s/vivian/sky/g 替換第 n 行開始到最後一行中每一行所有 vivian 為 sky

n 為數字,若 n 為 .,表示從當前行開始到最後一行

:%s/vivian/sky/(等同於 :g/vivian/s//sky/) 替換每一行的第一個 vivian 為 sky

:%s/vivian/sky/g(等同於 :g/vivian/s//sky/g) 替換每一行中所有 vivian 為 sky

可以使用 # 作為分隔符,此時中間出現的 / 不會作為分隔符

:s#vivian/#sky/# 替換當前行第一個 vivian/ 為 sky/

:%s+/oradata/apras/+/user01/apras1+ (使用+ 來 替換 / ): /oradata/apras/替換成/user01/apras1/ www.2cto.com

1.:s/vivian/sky/ 替換當前行第一個 vivian 為 sky

:s/vivian/sky/g 替換當前行所有 vivian 為 sky

2. :n,$s/vivian/sky/ 替換第 n 行開始到最後一行中每一行的第一個 vivian 為 sky

:n,$s/vivian/sky/g 替換第 n 行開始到最後一行中每一行所有 vivian 為 sky

(n 為數字,若 n 為 .,表示從當前行開始到最後一行)

3. :%s/vivian/sky/(等同於 :g/vivian/s//sky/) 替換每一行的第一個 vivian 為 sky

:%s/vivian/sky/g(等同於 :g/vivian/s//sky/g) 替換每一行中所有 vivian 為 sky

4. 可以使用 # 作為分隔符,此時中間出現的 / 不會作為分隔符

:s#vivian/#sky/# 替換當前行第一個 vivian/ 為 sky/

5. 刪除文本中的^M

問題描述:對於換行,window下用回車換行(0A0D)來表示,Linux下是回車(0A)來表示。這樣,將window上的文件拷到Unix上用時,總會有個^M.請寫個用在unix下的過濾windows文件的換行符(0D)的shell或c程序。 www.2cto.com

· 使用命令:cat filename1 | tr -d 「^V^M」 > newfile;

· 使用命令:sed -e 「s/^V^M//」 filename > outputfilename。需要注意的是在1、2兩種方法中,^V和^M指的是Ctrl+V和Ctrl+M。你必須要手工進行輸入,而不是粘貼。

· 在vi中處理:首先使用vi打開文件,然後按ESC鍵,接著輸入命令:%s/^V^M//。

· :%s/^M$//g

如果上述方法無用,則正確的解決辦法是:

· tr -d "\r" < src >dest

· tr -d "\015" dest

· strings A>B

6. 其它

利用 :s 命令可以實現字元串的替換。具體的用法包括:

:s/str1/str2/ 用字元串 str2 替換行中首次出現的字元串 str1

:s/str1/str2/g 用字元串 str2 替換行中所有出現的字元串 str1
www.2cto.com
:.,$ s/str1/str2/g 用字元串 str2 替換正文當前行到末尾所有出現的字元串 str1

:1,$ s/str1/str2/g 用字元串 str2 替換正文中所有出現的字元串 str1

:g/str1/s//str2/g 功能同上

從上述替換命令可以看到:g 放在命令末尾,表示對搜索字元串的每次出現進行替換;不加 g,表示只對搜索

字元串的首次出現進行替換;g 放在命令開頭,表示對正文中所有包含搜索字元串的行進行替換操作。

⑶ Linux如何在vi里搜索關鍵字

在命令模式下敲斜桿( / )這時在狀態欄(也就是屏幕左下腳)就出現了 「/」 然後輸入你要查找的關鍵字敲回車就可以了。

如果你要繼續查找此關鍵字,敲字元 n 就可以繼續查找了。

⑷ vi的常用命令

vi的基本操作
a) 進入vi

在系統提示符號輸入vi及文件名稱後,就進入vi全屏幕編輯畫面:

$ vi myfile

不過有一點要特別注意,就是您進入vi之後,是處於「命令行模式(command mode)」,您要切換到「插入模式(Insert mode)」才能夠輸入文字。初次使用vi的人都會想先用上下左右鍵移動游標,結果電腦一直嗶嗶叫,把自己氣個半死,所以進入vi後,先不要亂動,轉換到「插入模式(Insert mode)」再說吧!

b) 切換至插入模式(Insert mode)編輯文件

在「命令行模式(command mode)」下按一下字母「i」就可以進入「插入模式(Insert mode)」,這時候你就可以開始輸入文字了。

c) Insert 的切換

您目前處於「插入模式(Insert mode)」,您就只能一直輸入文字,如果您發現輸錯了字!想用游標鍵往回移動,將該字刪除,就要先按一下「ESC」鍵轉到「命令行模式(command mode)」再刪除文字。

d) 退出vi及保存文件

在「命令行模式(command mode)」下,按一下「:」冒號鍵進入「Last line mode」,例如:

: w filename (輸入 「w filename」將文章以指定的文件名filename保存)

: wq (輸入「wq」,存檔並退出vi)

: q! (輸入q!, 不存檔強制退出vi)

3、命令行模式(command mode)功能鍵
1). 插入模式

按「i」切換進入插入模式「insert mode」,按「i」進入插入模式後是從游標當前位置開始輸入文件;

按「a」進入插入模式後,是從目前游標所在位置的下一個位置開始輸入文字;

按「o」進入插入模式後,是插入新的一行,從行首開始輸入文字。

2). 從插入模式切換為命令行模式

按「ESC」鍵。

3). 移動游標

vi可以直接用鍵盤上的游標來上下左右移動,但正規的vi是用小寫英文字母「h」、「j」、「k」、「l」,分別控制游標左、下、上、右移一格。

按「ctrl」+「b」:屏幕往「後」移動一頁。

按「ctrl」+「f」:屏幕往「前」移動一頁。

按「ctrl」+「u」:屏幕往「後」移動半頁。

按「ctrl」+「d」:屏幕往「前」移動半頁。

按數字「0」:移到文章的開頭。

按「G」:移動到文章的最後。

按「$」:移動到游標所在行的「行尾」。

按「^」:移動到游標所在行的「行首」

按「w」:游標跳到下個字的開頭

按「e」:游標跳到下個字的字尾

按「b」:游標回到上個字的開頭

按「#l」:游標移到該行的第#個位置,如:5l,56l。

4). 刪除文字

「x」:每按一次,刪除游標所在位置的「後面」一個字元。

「#x」:例如,「6x」表示刪除游標所在位置的「後面」6個字元。

「X」:大寫的X,每按一次,刪除游標所在位置的「前面」一個字元。

「#X」:例如,「20X」表示刪除游標所在位置的「前面」20個字元。

「dd」:刪除游標所在行。

「#dd」:從游標所在行開始刪除#行

5). 復制

「yw」:將游標所在之處到字尾的字元復制到緩沖區中。

「#yw」:復制#個字到緩沖區

「yy」:復制游標所在行到緩沖區。

「#yy」:例如,「6yy」表示拷貝從游標所在的該行「往下數」6行文字。

「p」:將緩沖區內的字元貼到游標所在位置。注意:所有與「y」有關的復制命令都必須與「p」配合才能完成復制與粘貼功能。

6). 替換

「r」:替換游標所在處的字元。

「R」:替換游標所到之處的字元,直到按下「ESC」鍵為止。

7). 回復上一次操作

「u」:如果您誤執行一個命令,可以馬上按下「u」,回到上一個操作。按多次「u」可以執行多次回復。

8). 更改

「cw」:更改游標所在處的字到字尾處

「c#w」:例如,「c3w」表示更改3個字

9). 跳至指定的行

「ctrl」+「g」列出遊標所在行的行號。

「#G」:例如,「15G」,表示移動游標至文章的第15行行首。

4、Last line mode下命令簡介
在使用「last line mode」之前,請記住先按「ESC」鍵確定您已經處於「command mode」下後,再按「:」冒號即可進入「last line mode」。

A) 列出行號

「set nu」:輸入「set nu」後,會在文件中的每一行前面列出行號。

B) 跳到文件中的某一行

「#」:「#」號表示一個數字,在冒號後輸入一個數字,再按回車鍵就會跳到該行了,如輸入數字15,再回車,就會跳到文章的第15行。

C) 查找字元

「/關鍵字」:先按「/」鍵,再輸入您想尋找的字元,如果第一次找的關鍵字不是您想要的,可以一直按「n」會往後尋找到您要的關鍵字為止。

「?關鍵字」:先按「?」鍵,再輸入您想尋找的字元,如果第一次找的關鍵字不是您想要的,可以一直按「n」會往前尋找到您要的關鍵字為止。

D) 保存文件

「w」:在冒號輸入字母「w」就可以將文件保存起來。

E) 離開vi

「q」:按「q」就是退出,如果無法離開vi,可以在「q」後跟一個「!」強制離開vi。

「qw」:一般建議離開時,搭配「w」一起使用,這樣在退出的時候還可以保存文件。

5、vi命令列表
1、下表列出命令模式下的一些鍵的功能:

h
左移游標一個字元

l
右移游標一個字元

k
游標上移一行

j
游標下移一行

^
游標移動至行首

0
數字「0」,游標移至文章的開頭

G
游標移至文章的最後

$
游標移動至行尾

Ctrl+f
向前翻屏

Ctrl+b
向後翻屏

Ctrl+d
向前翻半屏

Ctrl+u
向後翻半屏

i
在游標位置前插入字元

a
在游標所在位置的後一個字元開始增加

o
插入新的一行,從行首開始輸入

ESC
從輸入狀態退至命令狀態

x
刪除游標後面的字元

#x
刪除游標後的#個字元

X
(大寫X),刪除游標前面的字元

#X
刪除游標前面的#個字元

dd
刪除游標所在的行

#dd
刪除從游標所在行數的#行

yw
復制游標所在位置的一個字

#yw
復制游標所在位置的#個字

yy
復制游標所在位置的一行

#yy
復制從游標所在行數的#行

p
粘貼

u
取消操作

cw
更改游標所在位置的一個字

#cw
更改游標所在位置的#個字

2、下表列出行命令模式下的一些指令
w filename
儲存正在編輯的文件為filename

wq filename
儲存正在編輯的文件為filename,並退出vi

q!
放棄所有修改,退出vi

set nu
顯示行號

/或?
查找,在/後輸入要查找的內容

n
與/或?一起使用,如果查找的內容不是想要找的關鍵字,按n或向後(與/聯用)或向前(與?聯用)繼續查找,直到找到為止。

對於第一次用vi,有幾點注意要提醒一下:
1、用vi打開文件後,是處於「命令行模式(command mode)」,您要切換到「插入模式(Insert mode)」才能夠輸入文字。切換方法:在「命令行模式(command mode)」下按一下字母「i」就可以進入「插入模式(Insert mode)」,這時候你就可以開始輸入文字了。
2、編輯好後,需從插入模式切換為命令行模式才能對文件進行保存,切換方法:按「ESC」鍵。
3、保存並退出文件:在命令模式下輸入:wq即可!(別忘了wq前面的:)

⑸ Linux shell中在vi打開的文件中查找關鍵字

linux shell中使用vi命令打開文本文件後,如果需要查找字元

從開頭搜索
在命令模式下,輸入 / 你要查找的字元
按下回車,可以看到vim把游標移動到該字元處
再按n(小寫)查看下一個匹配
按N(大寫)查看上一個匹配(capslock切換大小寫,也可以在小寫狀態下按shift+n)

從結尾處搜索
?要搜索的字元串或字元

搜索後,打開別的文件發現也被高亮了,怎麼關閉?
命令行模式下,輸入:nohlsearch或者:set nohlsearch
可以簡寫成noh喝set-noh

⑹ 如何在 Vim/Vi 中快速查找和替換文本內容

Vim 是 Vi 多模式命令行 編輯器 的加強版,通常默認的Unix或Linux系統中都默認自帶Vi命令編輯器。當然,為了更好的體驗,如果系統默認沒有安裝Vim,建議安裝Vim。

通過本文的講解,你將學會如何在Vim/Vi中快速的使用命令進行查找替換文本。

首先,啟動Vim/Vi編輯器,處於正常模式下。如果你不確定是否處於正常模式下,這時你可以按「ESC」,編輯器就會進入正常模式。

替換命令的格式一般如下:

該命令表示在[range]的每一行中搜索{pattern},並將其替換為{string}。 [count]是一個乘以命令的正整數。

如果沒有給出[range]和[count],則僅替換當前行中找到的模式。

例如,要搜索當前行中字元串「foo」的首次出現,並將其替換為「bar」,可以使用:

要替換當前行中搜索到的所有內容,可以添加 g 標志:

如果想搜索和替換整個文件中的匹配內容,使用百分比字元 % 作為范圍。此字元指示從文件第一行到最後一行的范圍:

如果省略 {string} 部分即上面的bar,則將其視為空字元串,相當於將匹配到的內容替換為空,既刪除匹配到的內容。

以下命令刪除當前行中字元串「foo」的所有實例:

當然,除了作為分隔符外,還可以使用任何其他非字母數字單位元組字元,而不是斜杠字元( / )。例如:

要確認每個替換,可以使用 c 標志。

替換前會詢問:

按 y 替換匹配項,或按l替換匹配項並退出。 按 n 跳過當前匹配,按 q 或 Esc 退出替換。 a 選項替換匹配項和所有剩餘匹配項。

若要向下滾動屏幕,請使用 CTRL + Y ,向上滾動,請使用 CTRL + E 。

還可以使用 正則表達式 作為搜索模式,例如:

^ 符號表示與行首匹配, .* 表示匹配任意數量的字元。

默認情況下,搜索操作區分大小寫;搜索「FOO」將與「FOo」不匹配。

要忽略搜索模式的案例,請使用 i 標志:

另一種強制忽略案例的方法是在搜索模式後添加 \c 。例如, /Linux\c 執行忽略大小寫搜索。

當未指定范圍時,替換命令僅在當前行中操作。

范圍可以是一行,也可以是兩行之間的范圍。 行說明符之間可用英文 , 分隔 ; 字元分割。 可以使用絕對行號或特殊符號指定范圍。

例如,要在從第3行到第10行的所有行中將所有出現的「 foo」替換為「 bar」,可以使用:

該范圍是包含范圍的,這意味著該范圍包括第一行和最後一行。

. 字元表示當前行, $ 美元符號表示最後一行。 要在從當前行到最後一行的所有行中替換「 foo」:

也可以使用「 +」或「-」符號來設置行說明符,其後是從前一個行號添加或減去的數字。 如果省略符號後的數字,則默認為1。

例如,從當前行和接下來的四行開始,用「 bar」替換每個「 foo」,鍵入:

替代命令將模式作為字元串而不是整個單詞查找。 例如,如果您正在搜索「 gnu」,則搜索查找匹配「 gnu」嵌入在較大單詞(例如「cygnus」 或 「magnum」)中的情況。

要搜索整個單詞,請鍵入\ <標記單詞的開頭,輸入搜索模式,鍵入>標記單詞的結尾:

例如,要搜索單詞「 foo」,可以使用 \<foo\> :

Vim會跟蹤您在當前會話中運行的所有命令。

要瀏覽歷史記錄以查找先前的替代命令,請輸入 :s 並使用向上或向下箭頭鍵查找先前的替代操作。 要運行該命令,只需按Enter。 您也可以在執行操作之前編輯命令。

注釋行(在行前添加#)從5到20:

取消注釋行從5到20,恢復以前的更改:

將「蘋果」,「橙色」和「芒果」的所有實例替換為「水果」:

刪除每行末尾的空格:

搜索和替換在Vim中是一個非常強大的功能,學會使用它能使您可以快速更改文本,提高自己的工作效率。

歡迎通過查看我個人介紹信息,私信跟我溝通!

⑺ vi編輯命令下怎麼搜索第50行內容

輸入「/」+查找內容(/後面不用空格)再回車。
輸入vi命令進入編輯頁面後,接著輸入「/」+查找內容(/後面不用空格)再回車,查找到後,按n向下查找,N向上查找。
Linuxvi命令也就是指vi編輯器,它們是一個意思。vi編輯器是Linux/UNIX環境下經典的編輯器。

⑻ 在vi編輯器中要查找某一個單詞的命令是什麼

例如你查找 lookup, 只需要輸入 /lookup, 就可以找到, 同時可以用 n 和 shift n 尋找上一個和下一個
或者用 :g/lookup/ 所有匹配的行

⑼ LINUX VI編輯器里怎麼查找帶空格和符號的關鍵字

1. 直接查找試試,有的版本可以直接找到x0dx0a2. 用"\"轉義特殊符號,空格不用轉義x0dx0a比如要查找:x0dx0a則要查找的字元為: \

閱讀全文

與vi編輯器中查找關鍵字的命令相關的資料

熱點內容
基於單片機的遙控器設計 瀏覽:517
安卓如何取消圓圖標 瀏覽:11
收件伺服器怎麼樣 瀏覽:48
建築設計規范pdf 瀏覽:98
如何合並兩個pdf 瀏覽:174
刷機包必須要解壓的單詞 瀏覽:483
android課表實現 瀏覽:864
頭條app在哪裡能看見有什麼活動 瀏覽:511
冰櫃壓縮機電容80歐 瀏覽:609
安卓各個版本圖標什麼樣 瀏覽:152
無錫哪裡有製作手機app 瀏覽:538
php字元串轉json數組 瀏覽:6
數控網路編程課程有哪些 瀏覽:482
python30特效程序編碼 瀏覽:392
安卓跟蘋果互傳照片用什麼 瀏覽:848
原創小說app哪個好看 瀏覽:97
首台湖南造鯤鵬伺服器雲伺服器 瀏覽:268
redhatphp 瀏覽:456
android智能家居藍牙 瀏覽:646
pt螺紋編程 瀏覽:451