gpt4 book ai didi

emacs find-grep grep

转载 作者:行者123 更新时间:2023-12-01 04:12:13 25 4
gpt4 key购买 nike

我尝试对 emacs 的 find-grep 的结果执行 grep,因此我使用以下命令:

找到... | xargs ... | grep -v "包括"

结果确实显示在 grep 缓冲区中,但是当我在尝试转到该文件的每个条目上按 Enter 时,emacs 说该文件不存在。在 minibuffer 上,在文件的完整路径之前,有一个 ^[[K 字符。这基本上使整个文件名无法识别。我查看了 grep 的手册,仍然不确定我能做些什么。

我可能不必这样做,但我只是不确定如何传递两种模式,一种用于 grep,另一种用于反转 grep。 (可能是正则表达式?)

有人对此有任何建议吗?

解决方案:

我是在 Cento 5.5 机器上执行此操作的。由于旧版本的grep,结果证明这是一个问题。我在我的主目录中安装了最新版本的 grep,现在一切都很好。

最佳答案

通过评论“调试”问题后,这是一个应该适合您的解决方案。将它添加到您的 .emacs 并对其进行自定义,以便正则表达式匹配您要从文件名中删除的特殊字符:^[[K

(defadvice compilation-find-file (before compilation-find-file-strip-odd-chars activate)
"Strip the ^[[K in the input string"
(let ((filename (ad-get-arg 1)))
(save-match-data
(when (string-match "^\\[\\[K" filename)
(ad-set-arg 1 (replace-match "" nil nil filename))))))

关于emacs find-grep grep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5517877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com