c/c++ mode map 相关

elisp
spacemacs

#1

如上图 我想给company绑定个按键 但是报错 提示没有c+±mode-map 请大佬指点一下!!~


#2

解决了 要包含cc-mode 但是这个cc-mode 包含的位置很奇怪 一定要包在init里 不然报错。。不知道为啥


#3

那也没必要删掉帖子吧,以后别人搜到会有帮助


#4

c++-mode-map 一开始没有定义,你不能使用一个还没被定义的 Keymap,这是个很常见的问题。

另外,请直接贴代码(Markdown 语法),不要用图片。


#5

好的 谢谢 !!!


#6

补充一句,跟 (+ 3 x) 会报错 x 没有定义(Void)一样,同理。


#7

这个解决方法不是很对。

use-package有最常用的:init:config关键词,一个在加载package前运行,一个在之后。因为define-key是修改这个keymap变量的值,而按键寻找应该执行的函数时是每次去lookup这个keymap的,所以define-key能够即时生效,不会有其它一些配置项的 执行这行配置代码的时机 的问题,也就是说,这个define-key放在哪里都可以,因此:init中因为还没加载mode导致的空变量错误,只要改成:config就能解决。

c+±mode用到了cc-mode,那么cc-mode会在c+±mode加载的过程中被调用/加载,不需要手动require。

And again, RTFM (of use-package)。

这里有个相关的帖子


#8

好的 我试一下 感谢详细的解释