在将编辑器设置为emacs(macOS附带的版本,emacs 22.1.1)的命令行上进行交互式重新构建时,如果我在编辑南瓜的提交消息时在emacs中使用control-g,则emacs会被杀。为什么会这样?
这仅在使用emacs的第二次调用来编辑压缩的提交消息时发生,而不是在编辑rebase待办事项列表的第一个消息中发生。例如,如果您使用emacs作为编辑器进行交互式变基,
$ EDITOR=emacs git rebase -i somebranch
emacs将会出现,让您编辑变基待办事项列表。如果您编辑它来压缩这样的提交,
p somehash
p othersha
s thirdsha
如果此时按Ctrl-g,就可以了。使用control-x control-s可以保存并继续,然后git rebase将再次启动emacs来编辑提交消息,以压缩最后两个提交。如果您使用control-g,那么emacs将立即终止,将您带回到shell提示符。您就像在vim中使用esc一样,经常在emacs中使用control-g。
我用vim和pico进行了测试,在编辑提交消息时,他们在control-g上没有问题。我还尝试了一个新的用户帐户,以确保我没有对shell或emacs初始化文件设置任何奇怪的内容。