当我读一些elisp代码时,我发现了类似的东西:
(\,(* 2 \#1))
\,(format "%s %s id%d %s" \1 \2 (+1 \#) \3)
#'(bla bla)
Run Code Online (Sandbox Code Playgroud)
"\","#","#"这样的符号是什么意思?我应该考虑哪种会议?
phi*_*ils 10
\,在使用时特别适用于替换query-replace-regexp.这意味着"评估以下elisp表达式,并在替换中使用结果值".
在其他地方(我知道)并不特别,所以这应该是你见过的用法.
\#在替换字符串中也是特殊的,并且替换为到目前为止所做的替换次数.(即递增计数器).
\#N(其中N是数字)是一种变体\N,它将有问题的组视为数字而不是字符串,这在您评估的表达式需要数字时很有用.
那么(\,(* 2 \#1))将是一个替换,它评估表达式(* 2 \#1),将正则表达式的第一组匹配的数字乘以2以产生一些值N,这样最终的替换就是(N).
您可以在手册中找到这些内容.
C-hig (emacs) RET然后搜索有问题的语法.例如C-s \,,C-s如果搜索失败(如将要),则重复以在后续节点中找到匹配.
#'...是简写的,(function ...)它是'.../ 的变体(quote...),表示引用的对象是一个函数.
由于这是elisp语法,您可以在elisp手册中找到它:
C-hig (elisp) RET
你可以使用C-s #'或者在这种情况下它被索引,所以I #' RET也可以.
(通常首先检查索引,然后使用isearch.)
| 归档时间: |
|
| 查看次数: |
142 次 |
| 最近记录: |