egg.el已加载但未启用egg-minor-mode(没有“C-x v”键绑定)

时间:2011-12-24 20:29:13

标签: git emacs

所有“M-x egg-”命令都正常

M-x egg-start-new-branch
   start new branch with name: xxx

但是所有“C-x v”键绑定仍然绑定到“vc-”命令 (我希望C-x v b能够与egg-start-new-branch绑定)

C-h k
   C-x v b runs the command vc-switch-backend, which is an interactive

除了做一个(需要'鸡蛋)之外,我还需要做其他事吗?


其他信息

“描述变量:egg-minor-mode”

 "egg-minor-mode is a variable defined in `egg.el'. Its value is t"

“M-x describe-minor-mode” - >蛋小调模式

 "no such minor mode"

4 个答案:

答案 0 :(得分:4)

有点晚了,但我遇到了同样的问题。 你在评论中提到你正在使用git 1.7。问题是,egg需要1.6版本才能工作,它实际上会检查你是否正在使用该版本at line 5939。您可以看到,当字符串不匹配时,when表单的主体不会被执行;但这正是密钥图设置的地方!

因此,如果您想要冒险,可以将1.6.替换为1.1.7.(但是当您将git升级为时,您必须记住更改它1.8)和egg-mode将加​​载精细,键盘映射等等。但是,使用风险自负;我不知道版本1.7引入了哪些更改,而egg可能会做出意想不到的事情。

答案 1 :(得分:1)

你可以为鸡蛋做M-x customize-group并检查egg-mode-key-prefix的价值吗?必须将其设置为"C-x v"才能正常工作;如果你在任何地方(可能是你的.emacs?)改变它,键绑定将无法正常工作。

答案 2 :(得分:1)

我不熟悉egg。也许您必须处于某种模式(例如egg-minor-mode)以便您希望活动的键绑定?

如果您感觉/知道自己处于正确的模式并且该模式的键绑定似乎不包含您的期望,您可以通过这样做仔细查看:加载库help-fns+.el,然后使用 Ch Mk 查看您感兴趣的每个键映射的绑定。另请参阅HelpPlus

另一个想法当然是看一下鸡蛋源代码,看看发生了什么。 Emacs调试器是您的朋友:M-x debug-on-entry SOME-FUNCTION

IOW,除非这里的其他人有一些特殊的鸡蛋知识帮助(对不起;我没有),你最好的选择是翻找一下以了解发生了什么。

(稍后)实际上,我现在看到你自己提到了主题行中的模式。所以试试这个,加载文件然后打开次要模式:

(require 'egg)
(egg-minor-mode 1)

答案 3 :(得分:0)

我之前没有使用过egg-mode,但为了调试我试过这个。我通过检查git存储库安装了egg.el。

git clone git://github.com/byplayer/egg.git

之后我启动了emacs,发布了M-x load-file并提供了路径t/egg/egg.el并且已成功加载。之后,我在该文件夹C-x C-f中打开了一个文件,然后是t/egg/egg.el。立即加载文件,Emacs自动进入Major Mode Emacs-Lisp和minor-mode egg。 C-x v直接在状态栏中显示我:Egg:file:。所以一切似乎完全开箱即用。

当您打开文件以自动测试egg-minor-mode时,您确定打开了一个用git签入的文件,文件夹/路径中有.git文件夹吗?

除非您对.emacs和设置有更多了解,否则我无法进一步调试,但我无法重现您的错误。