Regular-Expression

如何在 fzf 中使用正則表達式?

  • January 25, 2022

例如,在 vim 中,您搜尋名稱,例如test1test2或者test9如果您按/\<test\d\>。我想要這個“功能”,比如查找文件名中包含單詞test<num>的文件名。我試了一下:

在此處輸入圖像描述

但它不起作用,如您所見。

這是我的 FZF 環境變數:

  • $FZF_DEFAULT_COMMAND rg --files --hidden --glob "!.git/*"
  • $FZF_DEFAULT_OPTS --prompt=' ' --cycle --preview='bat {}' +i --bind=ctrl-j:preview-half-page-down,ctrl-k:preview-half-page-up

如何使用 vim 和 sed 等正則表達式模式來查找文件(以及是否可以在這些文件中找到單詞)?

我不知道 fzf 是否可以做到這一點。但它確實有幾個特殊字元,如^(必須以)、$(必須以)、!(不能包含)。至於在文件中搜尋,您可以使用 silver searcher (ag)rigrep (rg)執行此操作,假設它們是通過使用命令安裝的,:Ag或者:Rg

您還可以利用添加多個模式的優勢,每個模式都以空格分隔:例如^core .py$ !test,將匹配以’core’ 開頭並以’.py’ 結尾的文件。並且不包含“測試”您可以繼續添加更多模式以縮小搜尋結果。

引用自:https://unix.stackexchange.com/questions/648188