我正在尝试向我的init
文件添加命令,但这两件事似乎都不起作用:
我想保存这个正则表达式:
Query replace regexp (default \([A-Z]\{3,\} ?[A-Z]+\) -> `\1`)
在我的init
文件中,我尝试添加:
(defun to-inline-code ()
(interactive)
(query-replace-regexp
"\([A-Z]\{3,\} ?[A-Z]+\)"
"`\1`"
nil
1
(point-marker) (point-max)))
但是当我执行to-inline-code
时,它不起作用。
我也试过了:
(defun to-inline-code ()
(interactive)
(query-replace-regexp
"\([A-Z]\{3,\} ?[A-Z]+\)"
"`\1`" ))
同样的运气。
答案 0 :(得分:1)
你需要引用字符串中的反斜杠:
(defun to-inline-code ()
(interactive)
(query-replace-regexp
"\\([A-Z]\\{3,\\} ?[A-Z]+\\)"
"`\\1`"
nil
1
(point-marker) (point-max)))
即。为每个\\
写\
。
在xy ABCD CC 5
上,这使得它匹配一个表达式并回答是给出
xy A`BCD CC` 5
可能是也可能不是您要找的东西。我怀疑你需要一个略有不同的正则表达式。
您可以通过键入交互式verison C-M-% ....
(即M-x query-replace-regexp
)然后要求使用C-x ESC ESC
重复该命令来查看迷你缓冲区中命令的较长形式(即{{ 1}})。