本文主要是介绍Emacs之multi-occur替代grep(五十八),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.occur-mode快捷键
1.第一种方式
# M-g M-n / M-g M-p 遍历查找到中匹配行的原所在文件位置
简化跳转命令
# C-c C-f 开启next-error-follow-minor-mode后,可以用以下命令在buffer和文件中跳转
Or
# M-x next-error-follow-minor-mode
M-n: 跳转到下一个匹配行的位置
M-p: 跳转到上一个匹配行的位置<: 跳转到 *occur* buffer的开始位置
>: 跳转到 *occur* buffer的结束位置
点击匹配行或在匹配行上按回车: 跳转到原buffer中匹配行的位置
g: 刷新 *occur* buffer中的搜索结果. 常用于原buffer修改之后.
e: 进入occur的编辑状态
C-c C-c: 退出occur的编辑状态,并将修改应用到原buffer中
q: 退出 *occur* buffer2.配置
# emacs .emacs
(global-set-key (kbd "M-s") 'occur)
1.配置
# emacs .emacs(eval-when-compile (require 'cl))
(defun get-buffers-matching-mode (mode)"Returns a list of buffers where their major-mode is equal to MODE"(let ((buffer-mode-matches '()))(dolist (buf (buffer-list))(with-current-buffer buf(if (eq mode major-mode)(add-to-list 'buffer-mode-matches buf))))buffer-mode-matches))(defun multi-occur-in-this-mode ()"Show all lines matching REGEXP in buffers with this major mode."(interactive)(multi-occur(get-buffers-matching-mode major-mode)(car (occur-read-primary-args))));; global key for `multi-occur-in-this-mode' - you should change this.
(global-set-key (kbd "C-<f2>") 'multi-occur-in-this-mode)2.
# M-g M-n / M-g M-p 遍历查找到中匹配行的原所在文件位置
简化跳转命令
# C-c C-f 开启next-error-follow-minor-mode后,可以用以下命令在buffer和文件中跳转
Or
# M-x next-error-follow-minor-mode
M-n: 跳转到下一个匹配行的位置
M-p: 跳转到上一个匹配行的位置
2.occur与multi-occur用法区别
本质区别:multi-occur可以显示多个buffer上下文,而occur不可以.1.occur
# M-x occur2.multi-occur
# M-x multi-occur
这篇关于Emacs之multi-occur替代grep(五十八)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!