2014-03-01 63 views
1

我知道M-x(执行扩展命令)允许通过输入名称来调用Emacs中的命令。这可是不允许我打电话给带参数的命令,e.g “反向词5”在Emacs迷你缓冲区中调用带参数的命令

我知道C-5 M-B产生期望的结果,但我正在寻找的一般方法。

有谁知道如何做到这一点?

感谢, 丹尼

回答

0

@ abo-abo提供了一般答案:使用M-:

  1. 但是,如果你有兴趣,不仅在获得副作用的评价,不仅在返回值的粗略概述,但在满返回值(不管它的大小和复杂度),那么香草Emacs M-:是不是你想要的。

    对于这一点,我代替pp-eval-expressioneval-expression WRT它的键绑定(包括M-:),我建议这种做法对他人太:

    (替代密钥定义 'EVAL-表达' PP-EVAL -expression全球地图)

    美观地打印的返回值,你可以把它打印完整的值(没有省略号:...)。

  2. 另外,我在库pp+.el中提供pp-eval-expression的修改版本。它具有以下优点:

    • 读取与完成,使用pp-read-expression-map
    • Emacs-Lisp模式缩进和完成键绑定在输入过程中可用。
    • 使用前缀arg,将结果值插入当前缓冲区的点。
    • 使用负前缀arg,如果返回值是字符串,则将其插入不带双引号的缓冲区中(")。
    • 字体锁定Emacs-Lisp模式的返回值(语法高亮显示)。 (而且显示期间emacs-lisp-mode-hookchange-major-mode-hook被抑制。)
    • 尊重新用户选项pp-eval-expression-print-lengthpp-eval-expression-print-level和标准选项eval-expression-debug-on-error。前者与类似的标准选项eval-expression-print-lengtheval-expression-print-level分开,因为用例通常是不同的。
  3. 如果您使用的库Icicles那么你得到相同的优点库pp+.el - 无需加载pp+.el也。

2

评估和演示它:M-:(backward-word 5)RET

相关问题