Git 已加载egg.el,但未启用egg次要模式(无“C-x v”键绑定)
所有“M-x egg-”命令都正常工作Git 已加载egg.el,但未启用egg次要模式(无“C-x v”键绑定),git,emacs,Git,Emacs,所有“M-x egg-”命令都正常工作 M-x egg-start-new-branch start new branch with name: xxx 但是所有的“C-xv”键绑定仍然绑定到“vc-”命令 (我希望C-x v b与蛋结合,开始新的分支) 除了做鸡蛋,我还需要做别的事情吗 附加信息 “描述变量:egg次要模式” “M-x描述次要模式”->蛋形次要模式 "no such minor mode" 您可以为egg执行M-x自定义组,并检查egg模式键前缀的值吗?必须将其设
M-x egg-start-new-branch
start new branch with name: xxx
但是所有的“C-xv”键绑定仍然绑定到“vc-”命令
(我希望C-x v b与蛋结合,开始新的分支)
除了做鸡蛋,我还需要做别的事情吗
附加信息 “描述变量:egg次要模式” “M-x描述次要模式”->蛋形次要模式
"no such minor mode"
您可以为egg执行
M-x自定义组,并检查egg模式键前缀的值吗?必须将其设置为“C-x v”
,才能正常工作;如果您在任何地方(可能在.emacs?)更改了它,则密钥绑定将无法正常工作。我不熟悉egg
。也许您必须处于某种模式(例如,egg-minor模式
),才能激活预期的键绑定
如果您觉得/知道您处于正确的模式,并且该模式的键绑定似乎没有包含您期望的内容,那么您可以通过这样做来仔细查看:加载库,并使用C-h M-k查看您感兴趣的每个键映射的绑定。另见
另一个想法当然是看一下egg源代码,看看发生了什么。Emacs调试器是您的朋友:M-x调试on entry-SOME-FUNCTION
听着,除非这里的其他人对你有一些特定的鸡蛋知识的帮助(对不起,我没有),否则你最好的办法就是四处翻找,看看到底发生了什么
(稍后)事实上,我现在看到你在主题行中提到了模式,你自己。因此,请尝试以下操作,加载文件,然后打开次要模式:
(require 'egg)
(egg-minor-mode 1)
我以前没有使用过egg模式,但为了调试,我尝试了这个。我通过检查git存储库安装了egg.el
git clone git://github.com/byplayer/egg.git
之后,我启动了emacs,发布了M-x加载文件
,并给出了路径t/egg/egg.el
,加载成功。在那之后,我打开了文件夹C-xc-f
中的一个文件,然后是t/egg/egg.el
。加载文件后,Emacs立即自动进入主模式Emacs Lisp和次模式egg。而C-xv
直接在状态栏中显示:Egg:file:
。因此,一切似乎都是开箱即用
打开文件以自动测试次要模式时,是否确实打开了使用git签入的文件,其中文件夹/路径中有一个.git文件夹
除非对.emacs和安装有更多了解,否则我无法进一步调试,但我无法再现您的错误。有点晚了,但我遇到了同样的问题。
您在评论中提到您正在使用Git1.7。问题是,egg需要1.6版本才能工作,它实际上会检查您是否正在使用该版本。您可以看到,当字符串不匹配时,
表单的主体不会被执行;但这正是关键地图设置的地方
因此,如果你想冒险,你可以用1.
或1.7.
替换1.6.
(但是当你将git升级到1.8时,你必须记住要更改它),然后egg模式将加载fine、keymap和所有内容。但是,使用风险自负;我不知道1.7版引入了什么变化,egg可能会做一些意想不到的事情。C-h w egg start new branch
是否告诉您一个不同的绑定?@philis:我得到“egg start new branch不在任何键上”@tikhon:C-h v(描述变量)egg模式键前缀返回“其值为”C-x v”“@jd:variableegg mode key prefix
具有该值或任何值,这一事实并不能说明您是否处于使用该变量的模式。当您尝试使用C-xv
时,您是否处于egg-minor模式
。确保(require'egg)和(egg minor mode 1)在my.emacs中。同时加载帮助fns+。重新启动emacs并打开git控制下的python文件。做了一个“描述变量:egg次要模式”并返回“egg次要模式是在`egg.el'中定义的变量。它的值是t”。到目前为止,一切看起来都不错。但是请注意,如果我使用“C-HM”来列出文件的模式,它将显示python模式和几个次要模式;德鲁:(第二部分):同样,如果我做一个“M-x描述次要模式”,然后我输入,例如,自动完成模式,它会描述它;但如果我尝试鸡蛋小调模式,我会得到“没有这样的小调模式”。因此,变量egg次要模式似乎为“真”,但该模式未真正启用?使用help fns+,如果我使用“M-x描述键映射-次要模式映射”,则会列出所有预期的键映射,但这些键映射是未启用的,我猜是因为次要模式尚未启动。在这种情况下,听起来像(次要模式1)
不是打开模式的方法,这意味着它不符合正常惯例。您需要查看定义模式的源文件。但首先尝试手动打开M-x egg次要模式
。如果完成后一切正常,则执行C-h f egg次要模式
,然后单击链接lea检查其文档字符串并查看代码,以确定如何使用Lisp打开它。(是的,您不能总是通过变量的值来判断模式是否打开/关闭。)另外,如果egg-minor-mode
不是全局minor-mode,那么您需要在相同的缓冲区中使用它作为打开它的位置。如果您在init文件中打开它,您需要确保在您想要的缓冲区中打开它。(使用当前缓冲区(获取缓冲区创建“foo”)(egg-minor-mode 1))
。快速查看代码给我的印象是,您只需在希望启用该模式的缓冲区(例如文件)中执行M-x egg次要模式
。尝试一下。此外,显然您需要GIT版本1.6(否则它什么也不做),然后刚好C-x C-f
应使用egg-minor模式
(require 'egg)
(egg-minor-mode 1)
git clone git://github.com/byplayer/egg.git