寻找helm ls git教程(emacs,helm)

寻找helm ls git教程(emacs,helm),emacs,emacs-helm,Emacs,Emacs Helm,在谷歌上找不到关于它的教程。 这意味着它不存在于我们的宇宙中 我正在寻找在emacs中查找文件和grep文件的方法。 希望能像打开项目目录一样轻松 (您的搜索将自动限制到您在sublime中指定的目录)您所追求的功能是dired多年来一直成功实现的功能。您在文章中链接的文件是对内置功能之上添加的便利功能的一个小增强,它实际上不处理在Git版本控制系统上下文之外搜索文件的问题 下面是一些使用dired的示例: M-xfind name dired,回答提示以选择要搜索的目录,并可能通过提供正则表达

在谷歌上找不到关于它的教程。
这意味着它不存在于我们的宇宙中

我正在寻找在emacs中查找文件和grep文件的方法。
希望能像打开
项目目录一样轻松

(您的搜索将自动限制到您在sublime中指定的目录)

您所追求的功能是
dired
多年来一直成功实现的功能。您在文章中链接的文件是对内置功能之上添加的便利功能的一个小增强,它实际上不处理在Git版本控制系统上下文之外搜索文件的问题

下面是一些使用
dired
的示例:

M-x
find name dired
,回答提示以选择要搜索的目录,并可能通过提供正则表达式来匹配文件名进行优化。然后,您将看到缓冲区,其中列出了迄今为止选择的所有文件。您可以从这里进一步细化%m,并为其提供一个regexp来过滤文件名,或者只需点击t选择缓冲区中的所有文件

然后点击A并写入regexp以在所选文件中搜索。此命令的作用是打开找到匹配项的文件。关闭文件或返回原始缓冲区后,可以按M-,移动到下一个匹配项


如果这听起来太复杂,那么您可以执行M-x
find dired
,在您选择的目录中调用
find
,使用通常可以提供给
find
的参数


要仅使用grep并在专用缓冲区中显示匹配项,您可以执行M-x
find grep
——这将调用
find
,并将其输出传输到
grep
。然后,您需要根据自己的喜好修改用于调用此命令的命令

M-x
find grep dired
将执行类似的操作,但是它将显示在
dired
缓冲区中找到匹配的文件,而不是出现匹配的行



最后,根据您的特定任务以及最终要完成的任务,可能还有更多的方法来实现这一点。有时,调用shell命令将结果直接放入缓冲区可能是最好的方法。其他时候,您可能需要编写自己的eLisp函数,以便对结果进行更详细的处理。Sky is he limit:)

这可能无法回答您的全部问题,但我使用以下一点elisp作为快捷方式,将特定文件夹下具有一组扩展名列表的所有文件变灰:

(defun pgrep (regexp)
  "rgrep files inside a project folder"
  (interactive
   (list (grep-read-regexp)))
  (grep-compute-defaults)
  (rgrep regexp "*rb *erb *js *css *scss" "~/path/to/folder/"))
然后我只运行
M-x pgrep foo


对于任何更复杂的内容,我只需直接运行
rgrep
——它允许您指定根文件夹、搜索字符串和扩展名

我最近看到了这个问题,并更新了repo页面上的自述,以反映安装和使用情况:


希望有帮助

它是一个350行的elisp扩展,其本身有很好的文档记录。如果您使用的是emacs和git,那么这段代码肯定不会让您感到困惑。帮助拯救世界,记录并将其添加到回购协议中。或者写信给作者并要求退款。我查看了elisp文件,但唉,我不擅长elisp,不知道如何使用它。。我可以使用2-3个命令来达到什么目的;我已经几十年没有使用emacs/elisp了,也没有使用git。起初我急于回复,但现在我不确定。当你说“emacs中的grep文件”时,你是指
git grep
,还是仅仅是
grep
?您链接到的文件是
git grep
git ls文件的后端(基本上提供了漂亮的彩色输出)。我想
vcgit
已经有类似的东西了。我第一次听到
git grep
。我基本上想对目录下的文件执行grep。(或者更好,git项目)感谢您对
dired
的详细介绍。不过我已经用了一段时间了
我必须到目录中搜索以使用任何dired命令,我发现它很乏味
。。您是否可以初始化一个目录,以便之后的任何dired命令都将该目录用作根目录(其他IDE中的项目)?并且能够将搜索限制为具有特定扩展名的文件。我知道我可以直接搜索和标记单个文件。但是,当有许多文件匹配时,这也很乏味。@eugene例如,您可以将目录添加为书签
M-x r M
标记,
M-x r b
打开书签目录。如果您经常使用某个非常特殊的文件夹,您可以在其中放置特殊的文件
.dir locals.el
,实际上您可以在其中放置任何eLisp代码来自定义该特定目录。更多信息:@eugene也请看这里:如果我理解正确,您需要在局部变量中设置
dired-omit extensions
,以忽略您不想搜索的文件。请在注释中发布链接。不是答案。很遗憾,我没有代表。