Emacs之multi-occur替代grep(五十八)

2024-05-07 19:58

本文主要是介绍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(五十八)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/968244

相关文章

Golang使用minio替代文件系统的实战教程

《Golang使用minio替代文件系统的实战教程》本文讨论项目开发中直接文件系统的限制或不足,接着介绍Minio对象存储的优势,同时给出Golang的实际示例代码,包括初始化客户端、读取minio对... 目录文件系统 vs Minio文件系统不足:对象存储:miniogolang连接Minio配置Min

Redis KEYS查询大批量数据替代方案

《RedisKEYS查询大批量数据替代方案》在使用Redis时,KEYS命令虽然简单直接,但其全表扫描的特性在处理大规模数据时会导致性能问题,甚至可能阻塞Redis服务,本文将介绍SCAN命令、有序... 目录前言KEYS命令问题背景替代方案1.使用 SCAN 命令2. 使用有序集合(Sorted Set)

2014 Multi-University Training Contest 8小记

1002 计算几何 最大的速度才可能拥有无限的面积。 最大的速度的点 求凸包, 凸包上的点( 注意不是端点 ) 才拥有无限的面积 注意 :  凸包上如果有重点则不满足。 另外最大的速度为0也不行的。 int cmp(double x){if(fabs(x) < 1e-8) return 0 ;if(x > 0) return 1 ;return -1 ;}struct poin

2014 Multi-University Training Contest 7小记

1003   数学 , 先暴力再解方程。 在b进制下是个2 , 3 位数的 大概是10000进制以上 。这部分解方程 2-10000 直接暴力 typedef long long LL ;LL n ;int ok(int b){LL m = n ;int c ;while(m){c = m % b ;if(c == 3 || c == 4 || c == 5 ||

2014 Multi-University Training Contest 6小记

1003  贪心 对于111...10....000 这样的序列,  a 为1的个数,b为0的个数,易得当 x= a / (a + b) 时 f最小。 讲串分成若干段  1..10..0   ,  1..10..0 ,  要满足x非递减 。  对于 xi > xi+1  这样的合并 即可。 const int maxn = 100008 ;struct Node{int

使用http-request 属性替代action绑定上传URL

在 Element UI 的 <el-upload> 组件中,如果你需要为上传的 HTTP 请求添加自定义的请求头(例如,为了通过身份验证或满足服务器端的特定要求),你不能直接在 <el-upload> 组件的属性中设置这些请求头。但是,你可以通过 http-request 属性来自定义上传的行为,包括设置请求头。 http-request 属性允许你完全控制上传的行为,包括如何构建请求、发送请

Anthropic 创始人 Dario Amodei 谈:关于护城河与风险,AI 大很难直接替代人

护城河的迷思   近期,Anthropic创始人Dario Amodei与投资人Erik Torenberg进行了一场引人关注的对话。他们探讨了AI的护城河与潜在风险。话说,护城河就像酒水的保质期,过了时间就得小心别翻车。Amodei提到,AI虽有强大的潜力,但短期内难以完全替代人类的智慧。这可让很多人松了一口气,毕竟机器发热总比人心复杂,听着都觉得不舒服。 聪明与控制的博弈   Dar

Java中多个ifelse语句的替代设计

今天在改老代码的过程中,亲眼见证了一段30个if-else嵌套的代码... 然后搜集了一些资料做了以下简单整理。 概述 ifelse是任何编程语言的重要组成部分。但是我们编写了大量嵌套的if语句,这使得我们的代码更加复杂和难以维护。 接下来,让我们探索如何简化代码的中的ifelse语句写法。 案例研究 我们经常遇到涉及很多条件的业务逻辑,并且每个逻辑都需要不同的处理方式。以Calculator

【硬刚ES】ES基础(二十一) 单字符串多字段查询:Multi Match

本文是对《【硬刚大数据之学习路线篇】从零到大数据专家的学习指南(全面升级版)》的ES部分补充。

十大开源的Cursor AI替代方案

随着AI的兴起,所使用的工具也在不断进步。Cursor AI 作为一个强大的编码助手,已经成为开发人员不可或缺的工具。开源替代方案提供了透明性、个性化和成本效益。本文深入探讨了Cursor AI 的十大开源替代方案,这些方案将丰富您的编码体验,让您更高效。 Cursor AI 的十大开源替代方案 1. TabNine TabNine 是目前最受欢迎的AI驱动代码自动完成工具之一。它可以轻松集