Emacs Lisp

Emacs高效检索文件内容及按文件名查找文件 2024-05-1

2024-05-12  本文已影响0人  齐格Insight

背景

在日常工作中,有如下两类高效的检索文件场景:

检索文件内容

ripgrep 按关键字检索,参考如下: BurntSushi/ripgrep: ripgrep recursively searches directories for a regex pattern while respecting your gitignore (github.com)

mac下安装ripgrep 直接使用brew brew install ripgrep
windows下安装ripgrep 直接使用winget winget install BurntSushi.ripgrep.MSVC

安装完成ripgrep后,就可以在命令行下检索了,效果如下:

image.png

如上图所示,我们找到两个文件有关键字pop-global 。这样查找内容就非常方便了。接下来我们将其配置在emacs,这样在emacs里也能使用rg进行检索内容:

配置方式:Using ripgrep in Emacs using helm-ag (Spacemacs) (github.com)

其要点是在Emacs中设置 helm-ag-base-command 这个变量。

M-x customize-set-variable helm-ag-base-command

将这个变量的值设置为:rg --vimgrep --no-heading --smart-case
如下:

image.png

然后在emacs执行以下命令可以查找当前项目里的内容,你可以绑定自己的快捷键:

M-x spacemacs/helm-project-do-ag

如下效果图:

image.png

按文件名查找文件

fd-find 按文件名进行查找,连接 sharkdp/fd: A simple, fast and user-friendly alternative to 'find' (github.com)

需要先安装fd
mac 下安装 brew install fd
windows下安装 winget install sharkdp.fd

安装完成后,可以进行查找测试,如下:fd "init"

image.png

emacs中配置fd,主要是将 ffip-use-rust-fd 变量设置为true。

image.png image.png

设置完成后,可以在emacs里使用M-x find-file-in-project-by-selected
效果如下:

image.png
上一篇 下一篇

猜你喜欢

热点阅读