首頁  >  文章  >  系統教程  >  Linux中vim編輯器的搜尋技巧

Linux中vim編輯器的搜尋技巧

PHPz
PHPz轉載
2024-02-14 22:42:03481瀏覽

vim編輯器是Unix系統中最先進的文字編輯器之一,它支援幾乎所有的檔案類型,也被稱為程式設計師的編輯器。在本教程中,我們將學習如何在vim編輯器中執行搜尋操作,以便快速找到我們需要的文字。

Linux中vim編輯器的搜尋技巧

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

Vim 中的基礎搜尋操作

當你在 Vim 中開啟一個檔案並且想要搜尋一個特定的單字或模板,第一步你必須先按下 Esc鍵從插入模式中退出(如果你正處於插入模式中)。之後輸入/ 並緊接著輸入你要搜尋的單字或搜尋模式。

例如,如果你想要搜尋的單字是linux,下圖顯示的就是在 Vim 視窗底部的搜尋指令:Linux中vim編輯器的搜尋技巧

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

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

Linux中vim編輯器的搜尋技巧

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

當你剛好在文件的底部,而且想要逆向搜尋的情況下,使用? 代替/ 來開始搜尋。下圖就是一個例子:Linux中vim編輯器的搜尋技巧

自訂你的搜尋

#1、高亮搜尋結果

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

Linux中vim編輯器的搜尋技巧

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

:set hlsearch

2、讓搜尋不區分大小寫

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

:set ignorecase

所以當我設定ignorecase 變數後再使用前邊提到的指令,搜尋linux ,那麼linux 所在處也會被高亮。

Linux中vim編輯器的搜尋技巧

3、智慧大小寫搜尋

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

:set ignorecase
:set smartcase

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

4、遞進搜尋

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

:set incsearch

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

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

開始吧!如果你想要搜尋一個檔案中的一個單字,但是又不想輸入它,你只需要將你的遊標移到這個單字下然後按* (或shift 8)。如果你想要啟動一次部分搜尋(例如:同時搜尋in 和terminal ),那你需要將遊標移到到單字(在本例中,in )下,然後透過在鍵盤上按g* (按一次g 然後不斷按* )。

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

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

影片播放器

00:00

03:33

下一个,只要你想要,你可以获得所有被搜索单词或模式匹配处所在的行和行号的一个列表。这可以在你开始搜索后通过按 [I 来实现。如下图是一个列表结果如何在 Vim 窗口底部被分组和显示的例子:

Linux中vim編輯器的搜尋技巧

接下来,你可能已经得知,Vim 默认是环形搜索的,意味着在到达文件结尾处(或者被搜索单词的最后一处匹配)时,如果继续按 “搜索下一个” 会将光标再次带回第一处匹配处。如果你希望禁止环形搜索,可以使用如下命令:

:set nowrapscan

再次开启环形搜索,使用如下命令即可:

:set wrapscan

最后,假设你想要对文件中已经存在的单词做一点小小的修改,然后对修改后的单词执行搜索操作,一种方法是输入 / 与要搜索的单词。但是如果这个单词又长又复杂,那么可能需要一点时间来输入它。

一个简单的办法是将光标移到你想要略微修改的单词下,按/ 之后再按Ctrl +r 最后按 Ctrl块 + w 。这个在光标下的单词不仅仅会被拷贝,也会被复制到/ 后,允许你对它进行修改并且继续进行搜索操作。

如果想要获得更多小技巧(包括如何使用鼠标来使在 Vim 中的操作变得简单),请前往 Vim 官方文档。

在本教程中,我们介绍了如何在vim编辑器中进行搜索和替换,包括使用斜杠和点方法,使用冒号和s命令,以及使用全局命令。我们还学习了如何设置大小写敏感或不敏感,以及如何搜索整个单词。vim编辑器提供了强大而灵活的搜索功能,可以帮助我们提高编辑效率。

以上是Linux中vim編輯器的搜尋技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:lxlinux.net。如有侵權,請聯絡admin@php.cn刪除