首页 / 知识
关于正则表达式:如何在emacs中将正则表达式绑定到组合键?
2023-04-12 03:43:00

How do I bind a regular expression to a key combination in emacs?就上下文而言,我是emacs新手。我已经使用了很长时间,但是已经越来越多地使用了(我非常喜欢)。我对lisp也很满意,但是对elisp不太熟悉。 我需要做的是将正则表达式绑定到键盘组合,因为我经常使用此特定的正则表达式。 我一直在做什么:
注意,我在上面使用了换行符,但是我发现对于 如何将其绑定到组合键? 我隐约地理解我需要创建一个elisp函数,该函数使用表达式执行 如何在emacs中将正则表达式绑定到组合键? 到目前为止,迈克·斯通(Mike Stone)的答案是最好的-并不是我一直在寻找的东西,但是它可以满足我的需求 编辑-这种工作方式有效,但是在存储了宏之后,当我稍后再使用它时,我无法将其与C-x e一起使用。 (即,如果我重新引导emacs,然后键入M-x macro-name,然后再键入C-x e,我会在小型缓冲区中收到一条消息,例如\\'no last kbd macro \\'或类似的东西) @Mike Stone-感谢您提供的信息。我试图创建一个像这样的宏:
这创建了我的宏,但是当我执行我的宏时,并没有获得我通常使用 编辑:看起来我可以使用宏来做我想要的事情,我只需要在 您可以使用宏,只需执行C-x(然后对宏执行所有操作,然后对C-x进行)akbd结束宏,然后C-x e将执行最后定义的宏。然后,您可以使用M-x name-last-kbd-macro为其命名,以便为它分配一个名称,然后可以使用M-x TESTIT调用它,然后使用M-x insert-kbd-macro存储定义。这会将宏放入当前缓冲区,然后可以将其存储在 示例:
将定义一个宏以键入" abc",然后按回车键。
立即执行上述宏3次(首先执行e,然后执行2 e将再次执行两次)。
将宏命名为" testit"
执行刚刚命名的宏(打印" abc",然后返回)。
在当前缓冲区中放置以下内容:
然后可以将哪个保存在您的 我已经开始从字面上解决您的问题,
以下可能是最接近您需要的内容,
按键组合现在仅在isearch模式下可用。您可以正常开始搜索,然后按组合键以插入预定义的字符串。 通常,要在Emacs中定义自定义键绑定,请编写
毫无疑问, 现在,除非已经定义了函数,否则您将需要在使用它之前对其进行定义。为此,请写
现在,特别是对于交互式搜索,这很棘手; @Justin: 执行宏时,这有点不同...增量搜索将只执行一次,如果要再次搜索,则必须再次执行宏。但是,您可以执行更强大和复杂的操作,例如搜索关键字,跳转到行的开头,标记,转到行的末尾,Mw(要复制),然后跳转到另一个缓冲区,然后是Cy(粘贴) ),然后跳回到另一个缓冲区并结束宏。然后,每次执行宏时,您都会将一行复制到下一个缓冲区。 有关emacs宏的真正酷的事情是,它会在看到铃声时停止运行……这是由于您无法匹配增量搜索(以及其他原因)而发生的。因此,在上面的宏中,您可以执行C-u 1000 C-x e,该宏将执行该宏1000次...但是由于您进行了搜索,因此它只会复制1000行,或者直到搜索失败!这意味着如果有100个匹配项,它将仅执行宏100次。 编辑:请查看C-hf Highlight-lines-matching-regexp,它将显示命令来突出显示与正则表达式匹配的所有内容。可以使用存储的宏突出显示所有与正则表达式匹配的内容,然后使用另一个宏查找下一个正则表达式...? 进一步编辑:M-x unhighlight-regexp将取消突出显示,尽管您必须输入最后一个正则表达式(但默认为您用来突出显示的正则表达式) |
最新内容
相关内容
python正则表达式使用
python正则表达式使用,位置,培训,一致,字符串,函数,模式,对象,模块,参数,表达式,正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字pythonTKinter的绑定方法
pythonTKinter的绑定方法,培训,方法,全局,实例,参数,事件,快捷键,以上,操作,更多,python中TKinter的绑定方法1、bind_all全局绑定,默认是全局python正则表达式如何匹配内容
python正则表达式如何匹配内容,培训,检测,对象,内容,正则,字符串,函数,实例,文本,以上,1、编写Python正则表达式字符串s。2、使用re.compile(python方法的绑定和未绑定
python方法的绑定和未绑定,培训,方法,对象,实例,函数,参数,定义,静态,以上,不是,python方法的绑定和未绑定1、说明未绑定对象的方法:无self参正则表达式替换的复杂性
正则表达式替换的复杂性,正则表达式替换的复杂性,复杂度,运行,替换,正则表达式,Complexity of Regex substitution我在任何地方都没关于c#:我是否缺少有关LINQ的内容?
关于c#:我是否缺少有关LINQ的内容?,关于c#:我是否缺少有关LINQ的内容?,语言,移入,元素,用于,Am I missing something about LINQ?我似乎缺关于.net:Image UriSource和数据绑
关于.net:Image UriSource和数据绑定,关于.net:Image UriSource和数据绑定,绑定,图像,自定义对象,列表,Image UriSource and Data Bind如何配置tomcat绑定到单个IP地址(
如何配置tomcat绑定到单个IP地址(本地主机)而不是所有地址?,如何配置tomcat绑定到单个IP地址(本地主机)而不是所有地址?,地址,配置,绑关于.net:将Windows Forms属性绑定
关于.net:将Windows Forms属性绑定到C#中的ApplicationSettings的最佳方法?,关于.net:将Windows Forms属性绑定到C#中的ApplicationSe关于正则表达式:在此正则表达式中使
关于正则表达式:在此正则表达式中使用{1}来匹配url协议,关于正则表达式:在此正则表达式中使用{1}来匹配url协议,解决方案,网页,可接受如何在C中将函数作为参数传递?
如何在C中将函数作为参数传递?,如何在C中将函数作为参数传递?,传递函数,函数,参数传递,参数,How do you pass a function as a paramet关于.net:用于解析网页链接的正则表
关于.net:用于解析网页链接的正则表达式?,关于.net:用于解析网页链接的正则表达式?,网页,正则表达式,链接,没有找到,Regular expression