使用“emacs-helm-ag”(-g 选项)直接搜索文件名的交互式 Elisp 函数
Interactive Elisp Function to Directly Search File Names with `emacs-helm-ag` (-g option)
我使用emacs-helm-ag来搜索项目中的文件内容和文件名。我的 emacs-helm-ag
配置是:
; Helm Ag mode
(add-to-list 'load-path "~/.emacs.d/emacs-helm-ag")
(require 'helm-ag)
(custom-set-variables
'(helm-ag-base-command "ag --nocolor --nogroup")
'(helm-ag-command-option "--hidden --ignore *~ --ignore .git --ignore .idea"))
(global-set-key (kbd "M-s s") 'helm-do-ag-project-root)
要搜索文件内容(所有项目文件中的一个词)我按M-s s
并输入要搜索的词。
要搜索文件名(项目所有文件列表中的一个文件)我按M-s s
然后我必须输入-g
(我想自动执行此步骤),然后输入要搜索的文件名。
问题。请你能帮我想出一个 elisp
交互功能,通过自动插入 -g
命令行选项直接搜索项目中的文件名(最好重用 helm-do-ag-project-root
来自 emacs-helm-ag
package) 并且只需要最终用户输入文件名。我想要一个交互式函数来搜索项目中的文件名,并能够使用不同的键绑定调用该函数。类似于:
(global-set-key (kbd "M-s f") 'helm-do-ag-project-root-file-names)
根据 DasEwigeLicht on Reddit 的建议,我创建了一个函数,该函数根据我的问题的要求使用 ag -g <pattern>
在项目中搜索文件名。函数为:
(defun helm-do-ag-project-root-search-file-names ()
"Searches file names in a project using ag -g <pattern> command line tool"
(interactive)
(let ((helm-ag-command-option (concat helm-ag-command-option " -g")))
(helm-do-ag-project-root)))
(global-set-key (kbd "M-s f") 'helm-do-ag-project-root-search-file-names)
非常感谢DasEwigeLicht提出的有用建议!
我使用emacs-helm-ag来搜索项目中的文件内容和文件名。我的 emacs-helm-ag
配置是:
; Helm Ag mode
(add-to-list 'load-path "~/.emacs.d/emacs-helm-ag")
(require 'helm-ag)
(custom-set-variables
'(helm-ag-base-command "ag --nocolor --nogroup")
'(helm-ag-command-option "--hidden --ignore *~ --ignore .git --ignore .idea"))
(global-set-key (kbd "M-s s") 'helm-do-ag-project-root)
要搜索文件内容(所有项目文件中的一个词)我按M-s s
并输入要搜索的词。
要搜索文件名(项目所有文件列表中的一个文件)我按M-s s
然后我必须输入-g
(我想自动执行此步骤),然后输入要搜索的文件名。
问题。请你能帮我想出一个 elisp
交互功能,通过自动插入 -g
命令行选项直接搜索项目中的文件名(最好重用 helm-do-ag-project-root
来自 emacs-helm-ag
package) 并且只需要最终用户输入文件名。我想要一个交互式函数来搜索项目中的文件名,并能够使用不同的键绑定调用该函数。类似于:
(global-set-key (kbd "M-s f") 'helm-do-ag-project-root-file-names)
根据 DasEwigeLicht on Reddit 的建议,我创建了一个函数,该函数根据我的问题的要求使用 ag -g <pattern>
在项目中搜索文件名。函数为:
(defun helm-do-ag-project-root-search-file-names ()
"Searches file names in a project using ag -g <pattern> command line tool"
(interactive)
(let ((helm-ag-command-option (concat helm-ag-command-option " -g")))
(helm-do-ag-project-root)))
(global-set-key (kbd "M-s f") 'helm-do-ag-project-root-search-file-names)
非常感谢DasEwigeLicht提出的有用建议!