gpt4 book ai didi

Emacs:符号作为变量的值是无效的

转载 作者:行者123 更新时间:2023-12-03 11:40:41 26 4
gpt4 key购买 nike

这是我的~/.emacs文件:

(setq-default c-basic-offset 4 c-default-style "linux")
(setq-default tab-width 4 indent-tabs-mode t)
(define-key c-mode-base-map (kbd "RET") 'newline-and-indent)

打开emacs时收到警告:

Warning (initialization): An error occurred while loading c:/home/.emacs:

Symbol's value as variable is void: c-mode-base-map

To ensure normal operations, you should investigate and remove the cause of the error in your initialization file. Start Emacs with the --debug-init option to view a complete error backtrace.



我跑了 --debug-init这就是它返回的内容。我不知道我的意思:

Debugger entered--Lisp error: (void-variable c-mode-base-map)

(define-key c-mode-base-map (kbd "RET") (quote newline-and-indent)) 

eval-buffer(#<buffer *load*> nil "c:/home/.emacs" nil t)

; Reading at buffer position 311
load-with-code-conversion("c:/home/.emacs" "c:/home/.emacs" t t)

load("~/.emacs" t t)

最佳答案

这意味着,在您调用 define-key 时, c-mode-base-map还没有被任何东西定义。

通常的解决方法是找出它的定义位置并要求该模块。在这种情况下:

(require 'cc-mode)

然而,还有其他可能的修复,例如在模式 Hook 中设置键绑定(bind),或使用 eval-after-load .您使用哪一个取决于您;我倾向于使用 KISS 方法,因为我通常不关心启动时间;但如果你这样做,你可能想要一些更懒惰的东西。

关于Emacs:符号作为变量的值是无效的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25512527/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com