Emacs eval-print-last-sexp 详细级别

标签 emacs elisp

当处于*scratch*时,C-j调用eval-print-last-sexp。 但是,当我这样做时,我无法获得默认行为:

(local-set-key
 (kbd "C-j") 
 (lambda()(interactive) (eval-print-last-sexp)))

现在当评估结果为整数时,其八进制和十六进制 也打印了表示:

(+ 2 2)
4 (#o4, #x4)

造成此行为的原因是什么?如何将其关闭?

最佳答案

额外的输出来自函数eval-expression-print-format(参见)。 在 lisp-interaction-mode 中,变量 this-command 设置为 eval-expression-print-format。您只需类似地设置它即可:

(local-set-key
 (kbd "C-j") 
 (lambda()(interactive)
 (setq this-command 'eval-last-sexp)
 (eval-print-last-sexp)))

关于Emacs eval-print-last-sexp 详细级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20857462/

相关文章:

python - Hello_World 是 Python 中的一个词,在其他模式中是不同的。我怎么改?

java - 如何使用 lsp-java 在 emacs 上打开一个 maven 项目?

regex - 如何让 emacs 正则表达式识别带行号和不带行号的路径

emacs - 如何在 Emacs 上自定义一个面孔,但仅当 hl-line 处于事件状态时?

emacs - 在 emacs 中为文件系统以外的东西实现一个 dired 接口(interface)?

emacs - 在 .emacs 中获取不带扩展名的缓冲区文件名

emacs - 在终端 : Emacs 中从文本中分离行号

Emacs 使用 dvi2tty 而不是 evince 打开 dvi

debugging - Emacs GDB 重新运行行为

emacs:在选择时关闭缓冲区列表