美文网首页
Emacs: grep-dired 快速文件过滤和重构工具

Emacs: grep-dired 快速文件过滤和重构工具

作者: ManateeLazyCat | 来源:发表于2018-10-12 02:05 被阅读383次

一个多月前开发了 基于 ripgrep 的代码搜索和重构工具 , 可以快速的搜索和重构项目.

但是 ripgrep 只能对文件内容进行搜索, 有时候我们需要对项目下面的文件进行快速搜索并批量操作, 原来一直用 find-lisp-find-dired 这个命令, 但是这个命令最大的缺点就是它是一个同步命令, 当你搜索一个超级大的目录时, 这个命令就会卡主Emacs, 直到它最终搜索完所有的文件才能响应.

今天开发了基于 find 命令的 grep-dired 插件, 这个插件是完全异步设计的, 当你在搜索巨大目录时, 你同时可以用Emacs做其他事情.

这个插件的核心和Shell命令 find . -type f -name '*keyword*'的意义是一样的: 根据用户的关键字, 递归的搜索当前目录下匹配的文件名.

不同的是, 这个插件可以实时的把匹配的文件对接到 Emacs 的文件管理器 dired 中, 一旦文件列入 dired 后, 我们就可以进行更为高效的操作:

  1. 用 isearch 进行二次查找
  2. 用 dired 的命令进行快速批量标记, 删除, 移动和对标记的文件进行 shell 命令
  3. 甚至结合 wdired 对所有的文件名进行快速重构.
grep-dired

本来基于 color-rg.el 代码进行原型开发, 开发到一半发现 Emacs 有 find-dired 的代码做了同样的事情, 干脆放弃最开始的原型代码, 基于 find-dired 的代码, 裁剪了很多老旧的代码 (比如 find + grep 搜索文件内容, 显然没有 ripgrep 快), 去掉了很多Unix系统的兼容代码, 加入了自己的一些函数, 很快就构建出 grep-dired.el

安装方法

  1. 下载 grep-dired 里面的 grep-dired.el 放到 ~/elisp 目录
  2. 把下面的配置加入到 ~/.emacs 中
(add-to-list 'load-path (expand-file-name "~/elisp"))
(require 'grep-dired)

使用

grep-dired-dwim 快速搜索当前目录下的文件

grep-dired 自定义搜索

相关文章

  • Emacs: grep-dired 快速文件过滤和重构工具

    一个多月前开发了 基于 ripgrep 的代码搜索和重构工具 , 可以快速的搜索和重构项目. 但是 ripgrep...

  • 开发自己的emacs插件

    emacs个人需求 本地记录的笔记文章,想在emacs快速通过文件名打开 通过第三方插件 通过插件counsel-...

  • Linux文本处理三剑客之 sed

    sed是操作、过滤和转换文本内容的强大工具。常用功能包括对文件实现快速增删改查(增加、删除、修改、查询),其中查询...

  • emacs cask

    emacs cask 是 emacs 的一个包管理工具,他的描述文件是 Cask . 他主要的开发语言是 pyth...

  • vcftools

    vcftools是一种可以对VCF文件和BCF文件进行格式转换及过滤的工具,其中很多过滤及计算功能我们可以自己使用...

  • 文本操作小工具

    文件处理小工具 1. grep 工具 grep行过滤工具,用于根据关键字进行行过滤。 语法: 常用选项: 案例: ...

  • Emacs小技巧之-位置注册

    编程中经常用到跳转,多个文件及位置的记录可以用Emacs中的书签,单个文件中的临时注册和快速跳转有以下两个方法。 ...

  • loginsight,一款通用的日志分析工具

    Loginsight是一款开源的通用日志分析工具,能快速打开大文件,且集成了时间线、过滤窗、正则搜索、分享等功能,...

  • emacs和bashrc配置文件

    1.emacs配置文件 emacs配置文件夹下的init.el文件 2.~/.bashrc的最后几行 3. ~/....

  • 2021-06-30vcftools的相关参数和使用

    1.vcftools是一种可以对VCF文件和BCF文件进行格式转换及过滤的工具。 2.输入参数 –vcf 支持...

网友评论

      本文标题:Emacs: grep-dired 快速文件过滤和重构工具

      本文链接:https://www.haomeiwen.com/subject/wzfwaftx.html