我的 .emacs 中有以下内容
(defun find-in-workspace(term)
(interactive "sSearchInWorkspace: \n")
(grep-find (concat "grep -rnH --include=\*.{c,cpp,h} --include=-e '" term "' /home/workspaces/*")))
这只是 grep-find 的包装,以便它可以搜索我工作区中的所有文件。
我的问题出在grep缓冲区上。当我从中选择项目时,我希望将光标保留在 grep 缓冲区的窗口中,以便我可以快速浏览代码,但是选择一行会自动将光标移动到另一个窗口,这当我的列表超过 5 个项目时,击键次数就会增加。无论如何,我可以将此功能构建到此函数中,或者更改 grep-find 的设置吗?我一直在寻找但没有找到解决方案。
最佳答案
请参阅函数next-error
和previous-error
。它们离开 grep 缓冲区,但它们可以在任何地方工作,因此,例如,如果您将 next-error
绑定(bind)到一个方便的 a 键,那么您可以继续按下它,它将迭代 grep 缓冲区。
关于function - EMACS find-grep 命令切换窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18089831/