vim:全局搜索並跳轉

版權聲明:本文爲博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/YAOZHENGUO2006/article/details/72861676

很多人使用了vim之後,熱衷於安裝各種各樣的插件,折騰的不亦樂乎。但是殊不知vim 本身自帶的很多功能也非常的好用,熟練使用他們會使得我們在編程以及解決問題過程中提高不少效率。下面我就介紹第一個好用的技巧。全局搜索vim 命令。

先舉個栗子:比如我想在當前目錄搜索字符串 “test1”。你可以使用grep -R test1 * 這樣雖然可以搜索出結果,但是你只能看到這個字符串都在哪個文件哪裏包含,不能快速跳轉到這個字符串包含的文件中,但是vim 就有這樣的功能。

在vim的命令模式輸入如下命令:vim /test1/ ** | copen 如下就遞歸找出了在當前目錄下所有包含test1 字符串的文件,並且點擊想查看的那行就直接能跳轉到這個文件包含test1的位置中去。如下我想在u-boot 源碼中查找所有包含main 字符串的文件

:vim /main/ ** | copen

如上,所有包含main 字符串的文件全部列出,並且點擊想要想看的一行就直接跳轉到這個文件相應行中,非常方便。上個例子是當前目錄遞歸搜索所有。這個命令還有很多變種用法:以下都是搜索main, 如果搜索其他字符串請替換.

  1. 只搜索當前文件 vim /main/ % | copen

  2. 只搜索當前目錄 vim /main/ * | copen

  3. 搜索上級目錄下,並遞歸 vim /main/ …/** | copen

  4. 可以在多個路徑中搜索 vim /main path1/** path2/** | copen

如上的用法可以搭配ctags來查看source code,非常實用。其實上述的命令就是vimgrep,簡寫vim。使用 | 連接copen 命令把quickfix打開,vimgrep的結果就記錄在quickfix中。可以查看更過vimgrep的用法:h vimgrep

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章