Vim多檔案搜尋特定內容

2021-08-04 08:37:23 字數 1084 閱讀 9230

reference:

用vim開發或瀏覽專案時,經常會用到多檔案的模式搜尋。一些場合,可以用cscope find t可以解決了。可是遇到複雜的模式,該命令就捉襟見肘了。這時候就得用vim自帶的匹配利器---vimgrep。

vimgrep有兩種使用的方式:

1)將匹配模式放到//之間:這樣情況下,使用vim的正則模式來進行匹配

命令格式:

:vim[grep][!] //[g][j]

例子::vim /function demo/ *.c        

在當前目錄的.c檔案中,搜尋function demo

:vim /function demo/ **/*.c

在任意目錄的.c檔案中,搜尋function demo

:vim /function demo/ **/*.

在任意目錄的.c和.h檔案中,搜尋function demo

:vim /\cfunction demo/ **/*.c

使用\c,不區分大小寫

:vim /\cfunction demo/ **/*.c

使用\c,區分大小寫

:vim /function demo/j *.c       

只更新quickfix,不跳轉到第乙個搜尋結果

:vim /function demo/g *.c       

一行中若有多個匹配,每個都要單獨顯示一行

2)直接加匹配模式:這種情況下只能搜尋id,舉個例子,就不詳細說了

:vimgrep error *.c

vimgrep可以跟split或vsplit結合使用,將結果顯示到單獨的視窗中:

vsp | vimgrep demo *.c

lvimgrep跟vimgrep功能上是一樣的,但該命令更新提本地的視窗列表,而不是quickfix列表

若結果更新到quickfix:

用cw檢視,cn下一條,cp上一條,ccl關閉結果,colder上次搜尋結果,cnewer下次搜尋結果。

若結果更新到本地的視窗列表:

用lopen檢視,lcl關閉,lnext下一條,lpre上一條,lolder上次搜尋結果,lnewer下次搜尋結果。

Vim多檔案搜尋特定內容

reference 用vim開發或瀏覽專案時,經常會用到多檔案的模式搜尋。一些場合,可以用cscope find t可以解決了。可是遇到複雜的模式,該命令就捉襟見肘了。這時候就得用vim自帶的匹配利器 vimgrep。vimgrep有兩種使用的方式 1 將匹配模式放到 之間 這樣情況下,使用vim的...

Linux遞迴搜尋特定檔案內容

因為pytorch報 warning 很討厭 w indexingutils.h 20 warning indexing with dtype torch.uint8 is now deprecated,please use a dtype torch.bool instead.function e...

Vim為特定檔案載入模板

程式設計開發實際上有許多重複性的工作,比如編寫c c 時有一些標頭檔案是通用的,但在vim裡面每次建立新檔案預設都是空白檔案,手工輸入其實挺繁瑣的,下面介紹兩種為特定檔案載入模板的方法,僅以c為例,其他語言類似 這種方法的特點是以純vimscript實現,跨平台 autocmd bufnewfile...