emacs rgrep命令可以更新为在整个nodejs项目中排除`node_modules`吗?

杰伊·巴拉

我最近开始使用emacs作为默认编辑器/ IDE,并且对使用rgrep搜索项目中的文本通常感到满意。但是,如果我使用rgrep,则无法排除目录,特别是node_modules目录。这会导致更长的搜索时间和很多无关紧要的点击。

当我处于js2模式时,可以在emacs中使用rgrep时更改基本rgrep命令以排除那些目录吗?

菲尔

最简单的选项是自定义grep-find-ignored-directories用户选项。

您可能不想将此限制为js2-mode如果你来约束这种方式,你可能会喜欢的东西去:

(add-hook 'js2-mode-hook 'my-js2-mode-hook)

(defun my-js2-mode-hook ()
  "Custom behaviours for `js2-mode'."
  (require 'grep)
  (setq-local grep-find-ignored-directories
              (cons "node_modules" (default-value 'grep-find-ignored-directories))))

但是,rgrep当您仍在同一项目中时,肯定会有其他缓冲区可以从中启动

目录局部变量提供了另一种方法(可以简单地解决项目中的所有文件访问缓冲区,但仅适用于某些非文件访问缓冲区)。

在实践中,除非你觉得node_modules可能是你的目录名在某些项目类型进行搜索,我会倾向于刚刚设置的全局值。

我还将参考以下功能grep-find-ignored-directories

如果元素是cons单元格,则在搜索目录中调用car以确定是否不应将cdr递归到该单元格中。

原则上,这提供了根据情况过滤目录的功能。不过,这并不是最容易使用的方法-它需要您已经有代码来识别给定目录是否属于node_modules安全/不安全项目的一部分,并且该代码将再次需要在任何环境中工作。缓冲区的类型,因此您仍然要处理一些相同的问题。但是,如果您正在使用其他一些面向项目的库,则可能已有一些简单的方法来建立项目类型,然后可以在自定义谓词函数中使用该方法进行高级过滤。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

xterm中的Emacs命令

来自分类Dev

有Emacs规范吗?

来自分类Dev

为python设置emacs

来自分类Dev

多个命令的Emacs键绑定

来自分类Dev

定义简单的emacs命令很麻烦

来自分类Dev

如何下载命令行 emacs 而不是 GUI 的 emacs?

来自分类Dev

Emacs书签跳得更快吗?

来自分类Dev

Emacs呼叫流程为sudo

来自分类Dev

emacs初始化和更新emacs软件包

来自分类Dev

在Emacs中将Python项目设置为root?

来自分类Dev

Emacs ERT测试顺序可以更改吗?

来自分类Dev

.emacs可以读取环境变量吗?

来自分类Dev

Emacs可以跟踪BBEdit之类的文件吗?

来自分类Dev

Emacs可以跟踪BBEdit之类的文件吗?

来自分类Dev

整个系统中的Vi模式或emacs模式

来自分类Dev

在文件上运行批emacs命令

来自分类Dev

从emacs中的特定目录运行shell命令

来自分类Dev

emacs中元命令的用户超级键

来自分类Dev

emacs中的CEDET(命令行模式)

来自分类Dev

如何分析Emacs键盘命令的频率?

来自分类Dev

从emacs中的特定目录运行shell命令

来自分类Dev

在Emacs中定义默认的编译命令

来自分类Dev

“ set -o emacs”命令的含义是什么?

来自分类Dev

如何在Emacs中调用命令

来自分类Dev

如何从命令行卸载emacs?

来自分类Dev

命令行中的emacs压痕面

来自分类Dev

Emacs自定义Shell命令

来自分类Dev

如何防止 Emacs 复制 shell 命令?

来自分类Dev

我可以默认使Emacs以文本终端模式(没有窗口,例如`emacs -nw`)启动吗?