gpt4 book ai didi

emacs - 从 emacs 中的 rgrep/grep 输出中删除 header 信息?

转载 作者:行者123 更新时间:2023-12-02 02:39:38 24 4
gpt4 key购买 nike

这就是我运行 rgrep 时缓冲区的样子。我只想看看我的结果——所有其他信息对我来说毫无意义。

-*- mode: grep; default-directory: "~/.emacs/" -*-
Grep started at Sat Jan 20 12:42:21

grep --exclude=.\#\* --exclude=\*.o --exclude=\*\~ --exclude=\*.bin --exclude=\*.lbin --exclude=\*.so --exclude=\*.a --exclude=\*.ln --exclude=\*.blg --exclude=\*.bbl --exclude=\*.elc --exclude=\*.lof --exclude=\*.glo --exclude=\*.idx --exclude=\*.lot --exclude=\*.fmt --exclude=\*.tfm --exclude=\*.class --exclude=\*.fas --exclude=\*.lib --exclude=\*.mem --exclude=\*.x86f --exclude=\*.sparcf --exclude=\*.dfsl --exclude=\*.pfsl --exclude=\*.d64fsl --exclude=\*.p64fsl --exclude=\*.lx64fsl --exclude=\*.lx32fsl --exclude=\*.dx64fsl --exclude=\*.dx32fsl --exclude=\*.fx64fsl --exclude=\*.fx32fsl --exclude=\*.sx64fsl --exclude=\*.sx32fsl --exclude=\*.wx64fsl --exclude=\*.wx32fsl --exclude=\*.fasl --exclude=\*.ufsl --exclude=\*.fsl --exclude=\*.dxl --exclude=\*.lo --exclude=\*.la --exclude=\*.gmo --exclude=\*.mo --exclude=\*.toc --exclude=\*.aux --exclude=\*.cp --exclude=\*.fn --exclude=\*.ky --exclude=\*.pg --exclude=\*.tp --exclude=\*.vr --exclude=\*.cps --exclude=\*.fns --exclude=\*.kys --exclude=\*.pgs --exclude=\*.tps --exclude=\*.vrs --exclude=\*.pyc --exclude=\*.pyo -i -nH -e grep *.el

init.el:236:(global-set-key (kbd "s-f") 'rgrep)
init.el:237:(global-set-key (kbd "C-f") 'lgrep)

Grep finished (matches found) at Sat Jan 20 12:42:21

最佳答案

header 插入隐藏在 rgrep 深处对 compilation-start 的调用中。没有一种简单的方法可以阻止这些函数插入 header 。但是您可以通过定义建议轻松隐藏缓冲区的前四行。

(defun delete-grep-header ()
(save-excursion
(with-current-buffer grep-last-buffer
(goto-line 5)
(narrow-to-region (point) (point-max)))))

(defadvice grep (after delete-grep-header activate) (delete-grep-header))
(defadvice rgrep (after delete-grep-header activate) (delete-grep-header))

稍后您可以使用 C-xnw 再次加宽以显示这些线条。

如果您还想建议 lgrepgrep-findzrgrep,您可以替换 defadvice上面的宏带有这样的程序化建议:

(defvar delete-grep-header-advice
(ad-make-advice
'delete-grep-header nil t
'(advice lambda () (delete-grep-header))))

(defun add-delete-grep-header-advice (function)
(ad-add-advice function delete-grep-header-advice 'after 'first)
(ad-activate function))

(mapc 'add-delete-grep-header-advice
'(grep lgrep grep-find rgrep zrgrep))

关于emacs - 从 emacs 中的 rgrep/grep 输出中删除 header 信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16122801/

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