问题:
git add -p
在emacs shell
或eshell
似乎不可用 magit
(一个经常被提议的在emacs中使用git的替代方法)在Windows上吸球(速度非常慢)。 git add -p
,然后在emacs和emacs之间来回切换是可行的,但不止一点恼人。 有没有什么办法,在Microsoft Windows下,我可以让git add -p
在shell或eshell中运行良好,或者可以让magit
有点magit
?
如果magit很慢,那可能表明你的windows git客户端有问题?
我会首先考虑这个问题(因为git add -p
真的不会对magit的接口IMO有任何帮助)。
你正在使用的确切工具(及其版本)是什么?
你一定要检查magit问题追踪器,看看是否有已知的原因为什么magit可能会很慢。
你有没有尝试过:
% EDITOR=emacsclient git add -e <files>
然后在运行的emacs中使用diff-mode命令交互编辑补丁的区块?
然后你将能够在任何特定的行中使用diff-split-hunk
将块diff-split-hunk
并且完全用diff-hunk-kill
去除块(当然这些命令绑定到较短的键序列以便快速交互使用)。 编辑修补程序后,使用Cx #
将其保存并退出emacsclient会话(以便您可以返回到shell)。
(emacsclient,如果你不熟悉的话,是一个程序,它可以让你在已经运行的emacs中打开文件,只要后者启动了emacsclient服务器来连接;参见Mx describe-function server-start
)
请注意,您可能想要定制emacsclient与git的交互方式; 例如,请参阅以下答案: 使用ediff作为git mergetool以及如何设置emacsclient的退出状态 。