获取调试器 lisp 错误:(void-variable w)

问题描述 投票:0回答:1

有时,当我保存文件时,我会在 Emacs 中收到调试器错误消息,这种情况并不总是发生,而是在我保存文件时随机发生。错误信息如下

Debugger entered--Lisp error: (void-variable w)
  eval(w t)
  eval-expression(w nil nil 127)
  funcall-interactively(eval-expression w nil nil 127)
  #<subr call-interactively>(eval-expression nil nil)
  apply(#<subr call-interactively> eval-expression (nil nil))
  call-interactively@ido-cr+-record-current-command(#<subr call-interactively> eval-expression nil nil)
  apply(call-interactively@ido-cr+-record-current-command #<subr call-interactively> (eval-expression nil nil))
  call-interactively(eval-expression nil nil)
  command-execute(eval-expression)

每当我通过按“:”调用邪恶模式vim命令并在其后面加上“w”来保存文件来保存文件时,就会发生这种情况。另外有什么办法可以关闭这个弹出窗口吗?即使我找不到错误,是否可以禁用此弹出调试器错误,使其永远不会显示?

debugging emacs
1个回答
0
投票

听起来您可能正在敲击类似于

:
的键并获取命令
eval-expression
,该命令会尝试评估您接下来键入的内容(例如
w
然后
RET
)。

我不能代表 Evil 的按键绑定,但在普通 Emacs 中,

M-:
,而不是
:
,实际上绑定到
eval-expression
。 (
M-
Alt
。)

因此,如果您输入

M-: w RET
而不是
: w RET
那么这可能会解释您所看到的内容:Emacs 尝试将
w
计算为变量,并且它不作为变量绑定到任何值。

© www.soinside.com 2019 - 2024. All rights reserved.