如何为特定字符串定义使用`replace-string`的Emacs命令

ste*_*ejb 6 regex emacs

在Emacs中,我正在处理一个文本文档,从unicode明文转换为LaTeX.

例如,我想运行几组正则表达式

M-x replace-string ± RET \pm RET
M-x replace-string µ RET  \textmu 
Run Code Online (Sandbox Code Playgroud)

如何保存这些正则表达式,以便我可以重复运行它们?

谢谢

Tre*_*son 4

我通常喜欢编写自定义命令,这是您的第一个替换命令:

\n\n
(defun replace-plus-minus ()\n  (interactive)\n  (replace-string "\xc2\xb1" "\\\\pm" nil (point-min) (point-max)))\n
Run Code Online (Sandbox Code Playgroud)\n\n

但是,您也可以使用键盘宏。查看wiki文档

\n\n

基本上,你会这样做:

\n\n
C-x ( M-x replace-string \xc2\xb1 RET \\pm RET C-x )\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后你可以命名它,并将其保存到你的 .emacs 中:

\n\n
M-x name-last-kbd-macro\nM-x insert-kbd-macro\n
Run Code Online (Sandbox Code Playgroud)\n