git - Emacs shell : save commit message

标签 git shell vim emacs

几天前我开始使用 emacs,在 emacs shell (M-x shell) 中使用 git 时遇到了问题。当我“git commit”或“git commit --amend”时,它会打开 vim 以编辑和保存提交消息。我同意,但我找不到保存和退出 vim 的方法,因为按 ESC 不会触发 vim 正常模式,而 ESC 是我的 emacs 元键。 我尝试将我的 git 编辑器更改为 emacs,但它也不起作用,似乎 emacs shell 无法运行 emacs,并且它没有像我想象的那样打开一个新缓冲区。

emacs: Terminal type "dumb" is not powerful enough to run Emacs.

有没有一种方法可以让我在 emacs shell 中使用 git 命令行(我宁愿不必使用像 magit 这样的 git 前端客户端,...)?

谢谢, 罗宾

最佳答案

你可以把你的编辑器改成更简单的东西,比如nano,使用

git config core.editor nano

或者您可以通过将您的消息放在命令行上来让它不打开任何编辑器:

git commit --amend -m "My message"

关于git - Emacs shell : save commit message,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39528255/

相关文章:

c - 如何防止vim在:make command?之后使用错误的视口(viewport)

ruby-on-rails - Vim ctags 当前目录和 gemset

django - 我应该将 docker-compose 创建的/data 文件夹包含到 Git 中吗?

linux - 如何使用批处理文件在 putty 窗口上执行 cd 命令,批处理文件又调用命令的文本文件

c - 如何链接多个管道? (加上奇怪的 bug )

shell - 如何使用 shell 脚本从文件中获取变量的值?

javascript - Vim、Javascript、DoctorJS (jsctags) 和 Taglist(源代码浏览)

Git 声称它忽略了文件,但实际上添加了它们

python - 通过python在git中自动提交

git - 如何在 git 交互式 rebase 中将提交与下一个提交 merge ?