问题描述
我无法使用 emacs 作为我的默认编辑器从命令行成功执行“git rebase -i”。我可以编辑文件,但不能写入。 emacs 报告的错误是 git-rebase-todo 文件是只读的,但是查看从另一个终端生成的文件的权限,我可以看到它不是。更改我的 git 配置以使用 vi 作为默认编辑器确实有效,并允许我在本地重新设置我的项目。至少可以说,这令人困惑。由于某个地方的 emacs 配置错误,感觉像是某种权限问题。
我最近安装了 Ubuntu 20.04 LTS。我的工具是 gnu emacs 26.3 和 git 2.25.1。
我在网上查找了与此类似的其他问题,但似乎都没有解决,但它们已关闭。似乎人们正在看到这一点。任何帮助将不胜感激。
解决方法
根据您在评论中提供的详细信息,您案例中启用的主要模式是git-rebase-mode
。
其实这个模式和Magit本身有关:参见e.g. this file in the GitHub repository of Magit。
因此:
- 或者您觉得依赖此模式的功能很方便(参见例如 this online doc);
- 或者您可能想要找到 Magit emacs 包的位置并将其删除。
如果你选择了选项 2,一些提示:
- 运行Ch v load-history RET、Cx o和Cs git-rebase来定位
git-rebase.elc
的存储位置. - 如果它在您的
$HOME/.emacs.d/elpa/
文件夹中,则相应的操作很明显; - 否则,如果它在
/usr/share/emacs/26.3/lisp/
中,您需要依靠您的分发包管理器来确定如何卸载 Magit。