成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

超酷的Vim搜索技巧

系統 Linux 系統運維
盡管目前我們已經涉及 Vim 的多種特性,但此編輯器的特性集如此龐大,不管我們學習多少,似乎仍然遠遠不足。承接我們的 Vim 教程系列,本文我們將討論 Vim 提供的多種搜索技術。

[[185296]]

盡管目前我們已經涉及 Vim 的多種特性,但此編輯器的特性集如此龐大,不管我們學習多少,似乎仍然遠遠不足。承接我們的 Vim 教程系列,本文我們將討論 Vim 提供的多種搜索技術。

不過在此之前,請注意文中涉及到的所有的例子、命令、指令均是在 Ubuntu 14.04,Vim 7.4 下測試的。

Vim 中的基礎搜索操作

當你在 Vim 中打開一個文件并且想要搜索一個特定的單詞或模板,***步你必須要先按下 Esc 鍵從插入模式中退出(如果你正處于插入模式中)。之后輸入 / 并緊接著輸入你要搜索的單詞或搜索模式。

例如,如果你想要搜索的單詞是 linux,下圖顯示的就是在 Vim 窗口底部的搜索命令:   

Search for words in vim 

Search for words in vim

敲擊回車鍵之后,你會看到 Vim 會將光標停留在從光標在插入模式中的位置開始,找到的包含此單詞的***行。如果你剛剛打開一個文件并且立即開始了搜索操作,搜索將從文件的首行開始。

如果想要移動到下一處包含被搜索單詞位置,按 n 鍵。當你遍歷完所有被搜索模板所在之處,繼續按 n 鍵 Vim 將重復搜索操作,光標將回到***次搜索結果出現位置。  

Move to next search hit 

Move to next search hit

在遍歷搜索結果時,如果你想要回到上一匹配處,按 N (即 shift + n)。同時,值得注意的是不管在什么時候,你都可以輸入 ggn 來跳轉到***個匹配處,或者 GN 來跳轉到***一處。

當你恰好在文件的底部,而且想要逆向搜索的情況下,使用 ? 代替 / 來開始搜索。下圖是一個例子:   

search backwards 

search backwards

自定義你的搜索

1、 高亮搜索結果

盡管通過 n 或 N 從被搜索單詞或模式的匹配處跳轉到另一處很簡單,但是如果匹配處能夠高亮就更加人性化了。例如,請看下附截圖:   

Search Highlighting in VIM 

Search Highlighting in VIM

這可以通過設置 hlsearch 變量來實現,例如在普通/命令行模式中執行下述命令:

:set hlsearch  

set hlsearch 

set hlsearch

2、使搜索不區分大小寫

在 Vim 中進行搜索默認是區分大小寫的。這就意味著如果我要搜索 linux,那么 Linux 是不會匹配的。然而,如果這不是你想要的搜索方式,你可以使用如下命令來使搜索變得不區分大小寫:

:set ignorecase

所以當我設置 ignorecase 變量后再使用前邊提到的命令,搜索 linux,那么 Linux 所在處也會被高亮。   

search case-insensitive 

search case-insensitive

3、智能大小寫搜索

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

:set ignorecase:set smartcase

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

4、遞進搜索

就如谷歌一樣,隨著你輸入查詢字串(字串隨你每輸入一個字符不斷更新)顯示不同的搜索結果,Vim 也同樣提供了遞進搜索。要想使用這種特性,你必須在搜索前執行下述命令:

:set incsearch

一些很酷的在 Vim 中搜索的小技巧

你可能會發現還有一些其他的與搜索相關的小技巧很有用。

開始吧!如果你想要搜索一個文件中的一個單詞,但是又不想輸入它,你只需要將你的光標移到這個單詞下然后按 * (或者 shift + 8)。如果你想要啟動一次部分搜索(例如:同時搜索 in 和 terminal),那你需要將光標移到到單詞(在本例中, in)下,然后通過在鍵盤上按 g* (按一次 g 然后不斷按 * )。

注意:如果你想要逆向搜索,按 # 或者 g# 。

這里有個視頻,你可以看看:

 

下一個,只要你想要,你可以獲得所有被搜索單詞或模式匹配處所在的行和行號的一個列表。這可以在你開始搜索后通過按 [I 來實現。如下圖是一個列表結果如何在 Vim 窗口底部被分組和顯示的例子:   

grouped search results 

grouped search results

接下來,你可能已經得知,Vim 默認是環形搜索的,意味著在到達文件結尾處(或者被搜索單詞的***一處匹配)時,如果繼續按 “搜索下一個” 會將光標再次帶回***處匹配處。如果你希望禁止環形搜索,可以使用如下命令:

:set nowrapscan

再次開啟環形搜索,使用如下命令即可:

:set wrapscan

***,假設你想要對文件中已經存在的單詞做一點小小的修改,然后對修改后的單詞執行搜索操作,一種方法是輸入 / 與要搜索的單詞。但是如果這個單詞又長又復雜,那么可能需要一點時間來輸入它。

一個簡單的辦法是將光標移到你想要略微修改的單詞下,按 / 之后再按 Ctrl + r ***按 Ctrl + w。這個在光標下的單詞不僅僅會被拷貝,也會被復制到 / 后,允許你對它進行修改并且繼續進行搜索操作。

如果想要獲得更多小技巧(包括如何使用鼠標來使在 Vim 中的操作變得簡單),請前往 Vim 官方文檔。

結語

當然,沒有人希望你死記硬背這里提到的所有小技巧。你應該做的是,從一個你認為對你最有益的技巧開始不斷練習。當它成為一種習慣并且嵌入你的記憶后,重新來這兒找找你應該開始學習的下一個技巧。

你知道其他像這樣的技巧嗎?并且希望能夠和大家一起分享?那就在下邊留言吧! 

 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2018-02-23 13:25:49

LinuxVim編輯器

2010-10-08 15:44:17

vim

2011-02-21 14:10:46

Vim編輯

2022-11-04 15:56:41

2015-08-04 10:51:26

vim效率技巧

2011-08-01 11:56:45

Google搜索

2019-08-30 14:25:03

Vim命令Linux

2022-03-10 10:24:45

Vim代碼Linux

2010-10-20 09:37:00

vi編輯器

2021-12-25 15:30:03

GNOME桌面應用

2012-06-13 14:19:27

2022-06-27 08:01:55

動畫CSS前端

2015-09-21 13:17:55

免費開源游戲

2022-08-28 23:51:04

編輯器vim代碼

2020-02-24 08:52:08

開源索引YaCy

2010-08-18 09:19:34

Vim編輯器Vim 7.3

2011-05-04 09:05:39

Flash

2019-11-25 15:46:11

LinuxVim命令

2012-07-09 14:12:23

Windows 8桌面

2025-06-03 10:00:00

LiteLLMPython
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: a a毛片| 国产精品无码久久久久 | 国产精品视频久久久久久 | 国产精品久久久久久久白浊 | 亚洲精品久久久蜜桃网站 | 国产一区二区三区久久久久久久久 | 久久免费精品视频 | 国产精品18久久久久久久 | 亚洲夜射 | 亚洲成人黄色 | 91在线电影 | 久久久久久久久久久久久9999 | 成年人黄色免费视频 | 免费观看黄色一级片 | 国产精品国产三级国产aⅴ无密码 | 国产免费一区二区 | 国产视频一区在线 | 黄色免费网址大全 | 久久精品视频一区二区 | 国产亚洲精品区 | 婷婷在线视频 | 91看片网| av网站免费看 | 国产精品亚洲一区 | 免费一级欧美在线观看视频 | 久草在线 | 超碰精品在线 | 精品二区| 日日躁狠狠躁aaaaxxxx | 亚洲免费精品 | 亚洲成人自拍 | 精品亚洲一区二区三区 | 久久一视频 | 欧美在线一区二区三区 | 男女羞羞视频在线观看 | 久久久久久精 | 超碰97免费在线 | 91精品国产综合久久久久久首页 | 日日干天天操 | 国产欧美视频一区二区 | 国产精选一区 |