當前位置:首頁 » 操作系統 » linuxvi搜索

linuxvi搜索

發布時間: 2022-12-18 08:22:36

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

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

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

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

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

㈡ Linux vi 查找字元串時如何排除不想要的

/abc$ 即可,這就是以abc結尾的字元,要以abc開頭的話那就用 /^abc;你去學下正則表達式即可

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

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

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

㈣ linux下vim 查找命令

基礎搜索

先必須知道vim的3中工作模式

智能大小寫搜索

Vim 提供了一個功能,只有當要搜索的單詞 / 模板包含大寫字母時,編輯器才會區分大小寫。要想實現這種功能,必須先設置ignorecase,再接著設置smartcase變數。

:set ignorecase

:set smartcase

例如,如果一個文件中既包含LINUX也包含linux,在開啟智能大小寫搜索功能時,如果使用/LINUX進行搜索,只有單詞LINUX處會被搜到。反之,如果搜索/linux,那麼不論大小寫的搜索結果都會被匹配。

㈤ linux系統下 vi文本編輯器搜索單詞打什麼命令

vi文本編輯器搜索
簡單搜索
"/string"用於向下搜索一個字元串,按n按照搜索相同的方向跳轉到下一個匹配項,像一般的命令一樣,前面加上數字,標示命令計數,比如"2n"代表第三個匹配的目標。按N會和之前命令想法的方向就像搜索下一個。
"?string"用於反向向上搜索字元轉,n,N的用法同上。

搜索忽略大小寫
:set ignorecase
設置大小寫區分
:set noignorecase

命令記錄

假設你做過三次的搜索
/one
/two
/there
現在你想再次的重復搜索one,不需要自己輸入全部的字元串"/one"
利用命令的記錄功能,只需要輸入"/"按後通過方向鍵選擇記錄,如上,按三次向上方向鍵即可得到"/one",同樣,你可以輸入"/o"按後按向上方向鍵,即可自動匹配第一個以o開頭的命令記錄。(在:命令模式下,此方法相同使用,命令記錄不相混淆)

當你要鍵入的單詞太長時,你可以將游標移到你要搜索的單詞上,在普通模式下,按下*鍵,即可以當前詞為搜索向下搜索,#則向上搜索。這種方法上的單詞完全匹配,如果你要搜素的字元串可能還包含在一個其他長字元串裡面,可以使用g*,g#進行搜索。

在本行搜索某一個字元
fx 在當前行,向前將游標移動到字元x上
Fx 在當前行,向後將游標移動帶字元x上
tx 在當前行,向前將游標移動到字元x之前的字元上
Tx 在當前行,向後將游標移動到字元x之後的字元上
, 按照上次搜索(f,F,t,T)的反向進行搜索
; 重復上次搜索

使用"/the"會搜索到there,soothe,the,athea
可以通過不同的方法匹配不同的搜索
"/the/>" 得到結果there
"//<the" 得到結果soothe
"//<the/>" 得到結果the
"/>"是一特殊記法,只匹配一個Word的結束處
"/<"是一特殊記法,只匹配一個Word的開始處

高亮顯示搜索結果
將搜索的家國高亮顯示,將十分的直觀
開啟:set hlsearch
關閉:set nohlsearch

調整搜索結果
:set incsearch 這使得你在鍵入目標字元的時候vim就開始搜索,使用這種方法,可以使你在未完全輸入目標的情況下就可以找到一些結果

使用正則表達式
^字元匹配一行的開頭
$字元匹配一行的結尾
eg:
將游標移動到下面一句話的第一個the上,輸入*
the solder holding one of the chips melted and the
XXX XXX XXX(搜索高亮標記)
輸入"/thetiny_mce_markerquot;得到以下匹配結果
the solder holding one of the chips melted and the
XXX(搜索高亮標記)
輸入"/^the"則得到以下結果
the solder holding one of the chips melted and the
XXX (搜索高亮標記)
同理輸入"/^thetiny_mce_markerquot;將匹配一行內容僅含the的行

/jo[ha]n 將搜索john或者joan
.字元可以匹配任意字元
eg:
"/t.e" 將搜索匹配the tee等
(如果你要搜索的字元串里包含特殊字元,比如.則適應轉義字元/房子特殊字元前面)
"//<..../>" 將搜索任何四個字母的字元串

/d代表一個數字
//d 搜索數字 a1a
//</d/> 搜索作為獨立單詞的一個數字 1
//</d/d/> 搜索作為獨立單詞的兩個數字 12
/^$ 搜索空白行
/^/n 同上
--------
指定重復的次數
--------
要制定重復的次數,可以使用"/{n,m}"這樣的形式。"n"和"m"代表數字,其前的項目會被匹配"n"次到"m"次
/^/n/{3} 搜索三個空白行
/ab/{{3,5} 匹配"abbb","abbbb","abbbbb"
如果"n"被忽略,就默認它是0,如果"m"忽略,就默認它是無窮大,如果",m"被忽略,那麼精確匹配"n"次重復
/{,4} 0,1,2,3,4次
/{3,} 大於等於3次
/{3,4} 3,4次
/{4} 4次
/= 0或者1
* 0或者多次
/+ 一次或者多次

--------
多選一
--------
在一個操作中的"或"操作符是"/|"。如:
/fred/|joe 將搜索fred或者joe
多個選項能繼續串聯在一起
/one/|two/|three
/end/(if/|while/|for/) 匹配的是"endif","endwhile","endfor"

--------
字元范圍
--------
[a-z] a到z中的一個字元
[^a-z] 除了a到z中的一個字元
預定義字元集
//a 所有字母 /[a-zA-Z]
//d 數字 /[0-9]
//D 非數字 /[^0-9]
//x 十六進制數 /[0-9a-fA-F]
//X 非十六進制數 /[^0-9a-fA-F]
//s 空白字元 /[ ]
//S 非空白字元 /[^ ]
//l 小寫字母 /[a-z]
//L 非小寫字母 /[^a-z]
//u 大寫字母 /[A-Z]
//U 非大寫字母 /[^A-Z]
//h /[A-Za-z]
//w /[0-9A-Za-z]

㈥ Linux之vi命令

vi profile
返回

:q 退出
:wq或者:x或者shift+zz 保存並退出
:q! 不保存並退出
:w 保存
:w! 強制保存

編輯到輸入模式:
i 在當前游標前面輸入
I 在當前游標所在行的行首,轉換為輸入模式
a 在當前游標後面輸入
A 在當前游標所在行的行尾,轉換為輸入模式
o 在當前游標所在行的下方,新建一行,並轉為輸入模式
O 在當前游標所在行的上方,新建一行,並轉為輸入模式

1、 移動游標
字元:方向鍵上下左右或者鍵盤kjhl(上下左右)
單詞:w移至下一個單詞的詞首;e跳至當前或下一個單詞的詞尾;b跳至當前或前一個單詞的詞首
行內:0絕對行首;^行首的第一個非空白字元;$絕對行尾
行間:G文章末尾;3G第3行;gg文章開頭
翻屏:ctrl f【往後翻】;Ctrl b【往前翻】
2、 刪除、替換單個字元
x刪除游標位置字元;3x刪除游標開始3個字元;r替換游標位置字元
dw刪除一個單詞;4dw刪除游標開始的4個單詞;dd刪除游標所在行;5dd刪除游標開始的5行
3、復制粘貼剪切
yw復制一個單詞,p在該行粘貼單詞;yy復制整行,p在該行下方粘貼整行
dd剪切整行,p再粘貼整行;dw剪切一個單詞,p再粘貼一個單詞
4、 撤銷&重做
u:撤銷;ctrl+r:重做撤銷的操作;.重復上一步的操作【假設先dd,再.,會再執行dd命令】

1、 set設置
set nu
set nonu
set readonly #設置只讀文件,不能修改,只在當前環境有效,退出文件,再次打開,這個只讀就無效了
set noreadonly #取消只讀
2、 /查找
/after查找文檔中的after【可以找到所有的after】,n向下翻,N向上翻
:/after查找文檔中的after所在行【可以找到所有的after】,n向下翻,N向上翻
3、!執行命令
比如:查找root目錄
:!ls /root/
4、 查找並替換
格式
【 :查找范圍s/查找的詞/要替換的詞/ 】
或者【:查找范圍s#查找的詞#要替換的詞# 】
或者【:查找范圍s%查找的詞%要替換的詞%】,
即分隔符可以是/、#、%
其中, 查找范圍 包括【.當前游標行】;【$末尾行】;【%全文】;【g一行內全部替換】;【i忽略大小寫】
比如 【 :.,$s/after/before/】 表示在當前游標行【.】到末尾【$】這個范圍內,將after替換為before, 但是如果一行有多個after的話,只會把第一個after替換掉
比如 【 :%s/after/before/】 表示在全文,將after替換為before,但是如果一行有多個after的話,只會把第一個after替換掉。
比如 【:%s/after/before/g】 ,表示在全文,將after替換為before,但是 如果一行有多個after的話,會把該行所有after替換掉,因為在命令裡面加了g
比如 【:%s/after/before/gi】 ,表示在全文,將after替換為before,且忽略大小寫並替換一行內所有after。
比如 【 :%d或者dG】 ,表示刪除全文
比如 【:1,$-4d】 ,表示刪除第一行到倒數第5行的數據
比如 【:1,4y】 ,表示復制1到4行,再按p可粘貼這4行

㈦ linux下vim 查找命令

linux下vim查找命令:

/text--查找text,按n查找下一個,N查找上一個

?text--查找text(反向查找),按n查找下一個,N查找上一個

*/#--查找游標當前的單詞,相當於/text

:setignorecase--查找忽略大小寫

:setnoignorecase--查找不忽略大小寫

:nohlsearch--關閉當前的高亮顯示,當再次查找時恢復高亮

:setincsearch--逐步搜索模式,對當前鍵入的字元進行查找,不必等輸入完成

:setwrapscan--重新搜索,當搜索到文件頭或尾時,返回重新搜索


(7)linuxvi搜索擴展閱讀:

1、文件窗口:

:openfile--在當前窗口打開新文件

:splitfile--在新窗口打開文件

:newfile--用新窗口打開文件,同:splitfile

:bn--切換到下一個文件

:bp--切換到上一個文件

:args--查看當前打開的文件列表(當前正在編輯的文件會用[]括起來)

:eftp://192.168.10.76/abc.txt

:eqadriveest.txt--打開遠程文件

:split--打開一個新窗口,游標停在頂層的窗口上

:new--打開一個新窗口,游標停在頂層的窗口上

:vsplit--橫向打開窗口。

Ctrl+ww--移動到下一個窗口

Ctrl+wj--移動到下方的窗口

Ctrl+wk--移動到上方的窗口

2、其他命令:

Esc/Ctrl+[--鍵入命令

:!command--執行shell命令

:suspend/Ctrl+Z--掛起vim,回到shell,fg返回vim

:!perl-cscript.pl--檢查perl腳本語法,不用退出vim

:!perlscript.pl--執行perl腳本,不用退出vim

:help--顯示幫助文檔

:helpi--顯示i的幫助文檔(:特殊鍵用<>,-t:啟動參數用-)

3、編輯命令:

插入:

i--在當前位置插入

A--在當前行尾插入

I--在當前行首插入

o--在當前行後插入一行

O--在當前行前插入一行

拷貝粘貼剪切:

yy--拷貝當前行

2yy--拷貝當前行開始的2行

p--在當前游標後粘貼

P--在當前行前粘貼

:1,10co20--將1-10行插入到第20行之後。

:1,$co$--將整個文件復制一份並添加到文件尾部

v--進入選擇模式,相當於在Windows下按住Shift選擇

V--進入選擇模式,整行選擇

ddp--交換當前行和其下一行

2dd--剪切當前行之後的2行

:1,10d--將1-10行剪切

:1,10m20--將第1-10行移動到第20行之後

替換:

ra--將當前游標所在字元替換為a

s/old/new/--用old替換new,替換當前行的第一個匹配

s/old/new/g--用old替換new,替換當前行的所有匹配

%s/old/new/--用old替換new,替換所有行的第一個匹配

%s/old/new/g--用old替換new,替換所有匹配

:10,20s/^/text/g--在第10行到第20行每行前面加上text(:3,5s/^/#/g--注釋3-5行,:3,5s/^#//g
--解除3-5行的注釋,:1,$s/^/#/g--注釋整個文檔,:%s/^/#/g--注釋整個文檔)

ddp--交換游標所在行和下一行

移動:

h--左移一個字元(5h--左移5個字元)

l--右移一個字元(5l--右移5個字元)

k--上移一個字元(5k--上移5個字元)

j--下移一個字元(5j--下移5個字元)

w--向後移動一個單詞(5w--向後移動5個單詞)

b--向前移動一個單詞(5b--向前移動5個單詞)

e--同w,游標停在單詞尾部

ge--同e,游標停在單詞尾部

^--移動到本行第一個非空白字元

0--移動到本行第0個字元

--同0

$--移動到行尾(3$--移動到下面3行的行尾)

gg--移動到文件頭(10gg--移動到第10行首)

[[--同gg

G--移動到文件尾(10G--移動到第10行尾)

]]--同G

fx--移動到本行游標後第一個為x的字元(3fx--移動到本行游標後第3個為x的字元)

Fx--同fx,反向查找

:20--跳到20行行首

Ctrl+e--向下滾動一行

Ctrl+y--向上滾動一行

Ctrl+d--向下滾動半屏

Ctrl+u--向上滾動半屏

Ctrl+f--向下滾動一屏

Ctrl+b--向上滾動一屏

撤銷:

u--撤銷

U--撤銷對整行的操作

Ctrl+r--撤銷剛才的撤銷

刪除:

x--刪除當前字元(3x--刪除當前游標開始向後三個字元)

X--刪除當前字元的前一個字元,同dh

dl--刪除當前字元,同x

dh--刪除前一個字元

dd--刪除當前行

dj--刪除上一行

dk--刪除下一行

10d--刪除當前行開始的10行。

D--刪除當前字元至行尾,同d$

kdgg--刪除當前行之前所有行(不包括當前行)

:1,10d--刪除1-10行

:11,$d--刪除11行及以後所有的行

:1,$d--刪除所有行

J--刪除兩行之間的空行,合並兩行

退出

:wq--保存並退出

ZZ--保存並退出

:q!--強制退出並忽略所有更改

:e!--放棄所有修改,並打開原來文件

:close--關閉窗口,最後一個窗口不能使用此命令,可以防止意外退出vim

:q--如果是最後一個被關閉的窗口,那麼將退出vim

熱點內容
php開發的網頁 發布:2025-05-14 16:22:03 瀏覽:477
伺服器內存跑滿了怎麼回事 發布:2025-05-14 16:21:16 瀏覽:223
微信qq音樂緩存 發布:2025-05-14 16:16:16 瀏覽:468
c語言回收內存 發布:2025-05-14 16:16:08 瀏覽:143
2021國產安卓頂級旗艦買哪個 發布:2025-05-14 16:15:36 瀏覽:300
linux自學視頻 發布:2025-05-14 16:14:49 瀏覽:255
我的世界伺服器崩了重啟 發布:2025-05-14 16:09:37 瀏覽:44
android深拷貝 發布:2025-05-14 16:09:35 瀏覽:153
cf電腦版轉伺服器神器還在嗎 發布:2025-05-14 16:09:02 瀏覽:211
百度文庫伺服器如何搭建 發布:2025-05-14 16:09:00 瀏覽:248