在开发机中启动了emacs, 发现忘记对golang模式增加hook,之前在init.el中已经增加了对于其它常用子模式的hook(add-hook),因为已经打开了很多文件与shell,不想重新启动emacs,有没有什么办法,使用Alt+X执行add-hook,但是不行,请大家帮忙,谢谢:)
切到*scratch*
写下(add-hook …),光标移动到结束的括号,C-x C-e
其实也可以不切,随便哪个地方写上去,都一样,执行完再删掉就行了,还有M-:
,有好多种方法
1 个赞
善用 ielm
首先要搞清楚是什么 hook,如果是 -mode-hook
,它只在你打开文件启用 -mode
的时候执行一次。
而像 evil 这样的扩展,每次状态改变都要执行 -entery-hook
和 -exit-hook
。
如果是前者,需要重新 load 已经打开的文件(代价比重启 Emacs 小),或者干脆直接到目标 buffer,去执行你加到 hook 中的代码。
2 个赞
问题已经解决,感谢