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

不過在此之前,請注意文中涉及到的所有的例子、指令、指令均是在 Ubuntu 14.04,Vim 7.4 下測試的。
Vim 中的基礎搜尋操作
當你在 Vim 中開啟一個檔案並且想要搜尋一個特定的單字或模板,第一步你必須先按下 Esc鍵從插入模式中退出(如果你正處於插入模式中)。之後輸入/ 並緊接著輸入你要搜尋的單字或搜尋模式。
例如,如果你想要搜尋的單字是linux,下圖顯示的就是在 Vim 視窗底部的搜尋指令:
敲擊回車鍵之後,你會看到 Vim 會將遊標停留在從遊標在插入模式中的位置開始,找到的包含此單字的第一行。如果你剛剛打開一個文件並且立即開始了搜尋操作,搜尋將從文件的首行開始。
如果想要移動到下一個包含被搜尋單字位置,按n 鍵。當你遍歷完所有被搜尋模板所在之處,繼續按n 鍵 Vim 將重複搜尋操作,遊標將回到第一次搜尋結果出現位置。

在遍歷搜尋結果時,如果你想要回到上一匹配處,按N(即shift n。同時,值得注意的是不管在什麼時候,你都可以輸入ggn 來跳到第一個匹配處,或GN 來跳到最後一處。
當你剛好在文件的底部,而且想要逆向搜尋的情況下,使用? 代替/ 來開始搜尋。下圖就是一個例子:
自訂你的搜尋
#1、高亮搜尋結果
儘管透過n 或N 從被搜尋單字或模式的匹配處跳到另一處很簡單,但是如果匹配處能夠高亮就更加人性化了。例如,請看下方附截圖:

這可以透過設定hlsearch 變數來實現,例如在普通/命令列模式中執行下述命令:
:set hlsearch
2、讓搜尋不區分大小寫
在 Vim 中進行搜尋預設是區分大小寫的。這就意味著如果我要搜尋linux ,那麼Linux 是不會匹配的。然而,如果這不是你想要的搜尋方式,你可以使用以下命令來使搜尋變得不區分大小寫:
:set ignorecase
所以當我設定ignorecase 變數後再使用前邊提到的指令,搜尋linux ,那麼linux 所在處也會被高亮。

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 窗口底部被分组和显示的例子:

接下来,你可能已经得知,Vim 默认是环形搜索的,意味着在到达文件结尾处(或者被搜索单词的最后一处匹配)时,如果继续按 “搜索下一个” 会将光标再次带回第一处匹配处。如果你希望禁止环形搜索,可以使用如下命令:
:set nowrapscan
再次开启环形搜索,使用如下命令即可:
:set wrapscan
最后,假设你想要对文件中已经存在的单词做一点小小的修改,然后对修改后的单词执行搜索操作,一种方法是输入 / 与要搜索的单词。但是如果这个单词又长又复杂,那么可能需要一点时间来输入它。
一个简单的办法是将光标移到你想要略微修改的单词下,按/ 之后再按Ctrl +r 最后按 Ctrl块 + w 。这个在光标下的单词不仅仅会被拷贝,也会被复制到/ 后,允许你对它进行修改并且继续进行搜索操作。
如果想要获得更多小技巧(包括如何使用鼠标来使在 Vim 中的操作变得简单),请前往 Vim 官方文档。
在本教程中,我们介绍了如何在vim编辑器中进行搜索和替换,包括使用斜杠和点方法,使用冒号和s命令,以及使用全局命令。我们还学习了如何设置大小写敏感或不敏感,以及如何搜索整个单词。vim编辑器提供了强大而灵活的搜索功能,可以帮助我们提高编辑效率。
以上是Linux中vim編輯器的搜尋技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

CentOS 和 Ubuntu 的關鍵差異在於:起源(CentOS 源自 Red Hat,面向企業;Ubuntu 源自 Debian,面向個人)、包管理(CentOS 使用 yum,注重穩定;Ubuntu 使用 apt,更新頻率高)、支持週期(CentOS 提供 10 年支持,Ubuntu 提供 5 年 LTS 支持)、社區支持(CentOS 側重穩定,Ubuntu 提供廣泛教程和文檔)、用途(CentOS 偏向服務器,Ubuntu 適用於服務器和桌面),其他差異包括安裝精簡度(CentOS 精

CentOS 安裝步驟:下載 ISO 映像並刻錄可引導媒體;啟動並選擇安裝源;選擇語言和鍵盤佈局;配置網絡;分區硬盤;設置系統時鐘;創建 root 用戶;選擇軟件包;開始安裝;安裝完成後重啟並從硬盤啟動。

CentOS將於2024年停止維護,原因是其上游發行版RHEL 8已停止維護。該停更將影響CentOS 8系統,使其無法繼續接收更新。用戶應規劃遷移,建議選項包括CentOS Stream、AlmaLinux和Rocky Linux,以保持系統安全和穩定。

CentOS 已停止維護,替代選擇包括:1. Rocky Linux(兼容性最佳);2. AlmaLinux(與 CentOS 兼容);3. Ubuntu Server(需要配置);4. Red Hat Enterprise Linux(商業版,付費許可);5. Oracle Linux(與 CentOS 和 RHEL 兼容)。在遷移時,考慮因素有:兼容性、可用性、支持、成本和社區支持。

Docker利用Linux內核特性,提供高效、隔離的應用運行環境。其工作原理如下:1. 鏡像作為只讀模板,包含運行應用所需的一切;2. 聯合文件系統(UnionFS)層疊多個文件系統,只存儲差異部分,節省空間並加快速度;3. 守護進程管理鏡像和容器,客戶端用於交互;4. Namespaces和cgroups實現容器隔離和資源限制;5. 多種網絡模式支持容器互聯。理解這些核心概念,才能更好地利用Docker。

如何使用 Docker Desktop? Docker Desktop 是一款工具,用於在本地機器上運行 Docker 容器。其使用步驟包括:1. 安裝 Docker Desktop;2. 啟動 Docker Desktop;3. 創建 Docker 鏡像(使用 Dockerfile);4. 構建 Docker 鏡像(使用 docker build);5. 運行 Docker 容器(使用 docker run)。

CentOS 停止維護後,用戶可以採取以下措施應對:選擇兼容髮行版:如 AlmaLinux、Rocky Linux、CentOS Stream。遷移到商業發行版:如 Red Hat Enterprise Linux、Oracle Linux。升級到 CentOS 9 Stream:滾動發行版,提供最新技術。選擇其他 Linux 發行版:如 Ubuntu、Debian。評估容器、虛擬機或云平台等其他選項。

VS Code 系統要求:操作系統:Windows 10 及以上、macOS 10.12 及以上、Linux 發行版處理器:最低 1.6 GHz,推薦 2.0 GHz 及以上內存:最低 512 MB,推薦 4 GB 及以上存儲空間:最低 250 MB,推薦 1 GB 及以上其他要求:穩定網絡連接,Xorg/Wayland(Linux)
