将 Vim 用于 git 工作流程时按 Ctrl C

Ctrl C when using Vim for git workflow

我习惯使用 emacs(我知道坏习惯),并且 Git 打开 vim 用于提交消息。我输入我的提交消息并出于习惯按 ctrl-x、ctrl-c,它总是冻结 shell(我正在使用 putty)。

Why does it freeze up the whole shell?

它不会,但它也不会退出 vim 所以它可能会那样显示。

Can I configure ctrl-x, ctrl-c to be the same as :x in vim?

是的,但对于这个问题,这是一个非常非常糟糕的解决方案。

Can I configure git to use emacs?

Yes, easily. Also, if you had formally set emacs as your editorgit 已经在使用它(crontabvipw 和所有其他调用编辑器的命令也是如此)。

Should I just stop using emacs and get on the vim wagon?

不是因为这个。只需将 emacs 设置为默认编辑器即可。

(必答:关于马的注释git)

您的工作流程 git 在 shell 中。美好的。我可以建议在 emacs 中使用 Magit 包中的 git 吗?

http://wikemacs.org/wiki/Magit

http://magit.vc/

Magit 允许用几个键和一个交互式界面做很多事情。也许我最喜欢的是交互式变基。在 shell 中,我会输入类似的内容(抱歉,我忘记了准确的语法!)

git rebase -i HEAD~~~~

对吗?然后我将每个 "pick" 替换为另一个关键字。

使用 magit,我将调用 magit 状态(M-x magit-status,或我的自定义 S-g)。我显示了一个不错的 window,我可以从那里探索回购和触发操作:

我调用 ll 查看提交的简短列表。我将光标放在我想要变基的那个上,然后我要么看到菜单,要么键入 r。我显示了一个带有不同选项的小菜单。我选择 e 进行交互。我在它们前面显示了带有 "pick" 的提交,并且在每个提交中我键入 f 进行修复,r 进行改写,等等

它非常方便,希望您不知道它并且会喜欢它。