在Emacs minibuffer中使用参数调用命令
我知道M-x(执行扩展命令)允许人们通过键入命令名来调用Emacs中的命令。然而,这不允许我使用参数调用命令,例如“backward word 5” 我知道C-5 M-b会产生所需的结果,但我正在寻找一种通用方法 有人知道怎么做吗 谢谢,在Emacs minibuffer中使用参数调用命令,emacs,command,interactive,Emacs,Command,Interactive,我知道M-x(执行扩展命令)允许人们通过键入命令名来调用Emacs中的命令。然而,这不允许我使用参数调用命令,例如“backward word 5” 我知道C-5 M-b会产生所需的结果,但我正在寻找一种通用方法 有人知道怎么做吗 谢谢, Danny评估它:M-:(向后的单词5)RET.@abo abo提供了一般性的答案:使用M-: 但是,如果您不仅对获取评估的副作用感兴趣,而且不仅对返回值的粗略概述感兴趣,而且对完整返回值(无论大小和复杂程度)感兴趣,那么香草EmacsM-:不是您想要的 为此
Danny评估它:M-:
(向后的单词5)
RET.@abo abo提供了一般性的答案:使用M-:
M-:
不是您想要的
为此,我将pp eval expression
替换为eval expression
wrt它的键绑定(包括M-:
),我也向其他人推荐这种做法:
(替换键定义“eval expression”pp eval expression全局映射)
这会打印返回值,您可以让它打印完整的值(没有省略号:…
)pp eval expression
的修改版本。它有以下优点:
- 使用
完成读取pp读取表达式映射
- Emacs Lisp模式缩进和完成键绑定在输入期间可用
- 使用前缀arg,在点处将结果值插入当前缓冲区
- 如果返回值是字符串,则使用负前缀arg将其插入缓冲区,而不使用双引号(
)“
- 字体锁定Emacs Lisp模式的返回值(语法突出显示)。(在显示期间,禁用
和Emacs Lisp模式挂钩
)更改主模式挂钩
- 尊重新的用户选项
,pp eval expression打印长度
和标准选项pp eval expression打印级别
。前者与类似的标准选项eval expression出错时调试
和eval expression打印长度
,因为用例通常不同eval expression打印级别
pp+.el