我知道M-x(执行扩展命令)允许通过输入名称来调用Emacs中的命令。这可是不允许我打电话给带参数的命令,e.g “反向词5”在Emacs迷你缓冲区中调用带参数的命令
我知道C-5 M-B产生期望的结果,但我正在寻找的一般方法。
有谁知道如何做到这一点?
感谢, 丹尼
我知道M-x(执行扩展命令)允许通过输入名称来调用Emacs中的命令。这可是不允许我打电话给带参数的命令,e.g “反向词5”在Emacs迷你缓冲区中调用带参数的命令
我知道C-5 M-B产生期望的结果,但我正在寻找的一般方法。
有谁知道如何做到这一点?
感谢, 丹尼
@ abo-abo提供了一般答案:使用M-:
。
但是,如果你有兴趣,不仅在获得副作用的评价,不仅在返回值的粗略概述,但在满返回值(不管它的大小和复杂度),那么香草Emacs M-:
是不是你想要的。
对于这一点,我代替pp-eval-expression
为eval-expression
WRT它的键绑定(包括M-:
),我建议这种做法对他人太:
(替代密钥定义 'EVAL-表达' PP-EVAL -expression全球地图)
这美观地打印的返回值,你可以把它打印完整的值(没有省略号:...
)。
另外,我在库pp+.el
中提供pp-eval-expression
的修改版本。它具有以下优点:
pp-read-expression-map
。"
)。emacs-lisp-mode-hook
和change-major-mode-hook
被抑制。)pp-eval-expression-print-length
, pp-eval-expression-print-level
和标准选项eval-expression-debug-on-error
。前者与类似的标准选项eval-expression-print-length
和 eval-expression-print-level
分开,因为用例通常是不同的。评估和演示它:M-:(backward-word 5)
RET。