:Gstatus
命令后得到的屏幕然后将光标移至
init.vim
文件并按p
键,即为当前文件运行git add –patch
。 /> 现在我有了这个屏幕
如您所见,这是终端中git add patch的常见交互方式。在终端中,我可以按
y
将当前代码块添加到舞台区域,按n
跳过当前代码,依此类推。应该按。我应该按fugitive.vim
将当前块添加到舞台吗?还是应该按:w
或-
跳过?P.S.我正在使用neovim
#1 楼
简短答案只需使用常规的交互式按钮即可。在(常规)vim中,按p可使您进入交互式终端补丁,因此这是您惯用的界面。
对于neovim用户:只需进入插入模式(i),它就可以作为终端,光标移到“暂存此块……”行。
p
!如果您已经在使用插件逃犯,我强烈建议您学习如何有效地正确使用它。
从
:Gstatus
窗口中,您可以触发许多命令。提示:Ctrl + N移至窗口中的下一个文件(前P个)。
g?
会弹出其他快捷方式列表。现在,您可以在任何文件上按D来打开
:Gdiff
窗口。该窗口将显示磁盘上的文件与git索引中的文件之间的差异。您将片段添加到git索引中(模拟git add --patch
),但采用的方式更像“ vim式”。在差异之间工作副本始终在右侧,索引中的版本始终在左侧。请注意,更新索引(文件的“修补”部分)就像将更改从工作副本拉到索引一样简单。为此,我们有命令
:Gdiff
和]c
。哪个运行取决于您所在的位置。[c
(或“差异获取”-do
)将另一侧的差异从另一侧拉过来dp
(或'diff-put'-do
)将附近的差异放在另一侧结果?在工作副本中,使用
:diffget
添加要暂存的更改,或使用dp
重置更改。 (实际上,您也可以从索引中运行它们,但是对我而言,它不那么直观。):diffput
和dp
可与范围配合使用(读取:可视模式),如果您不想一次上演整个差异块。提示:如果颜色看起来很奇怪,请尝试
do
我添加了对索引的更改,现在怎么办?
编写索引文件(例如
:diffget
)并查看状态窗口更新! Vimcast关于逃犯和git index 逃犯帮助
Vim帮助
评论
我希望neovim可以去终端,对我来说更轻松
–兆
18年1月20日在17:56
@megas是的,我不确定如何处理neovim(在文档中没有提到)。我的其他评论仍然存在-如果您尝试按“常规”按钮(y,n,q),会发生什么? (或适应其他“修补”方式)
– D. Ben Knoble♦
18年1月20日在17:59
终于我找到了答案!只需进入插入模式(i),然后将其用作终端,光标将转到“暂存此块...”行
–兆
18年1月20日在18:06
:diffput和:diffget部分@ D.BenKnoble很有帮助
–klaus
18年5月14日在13:48
我刚学了很多。谢谢@ D.BenKnoble。
–杰西·阿特金森(Jesse Atkinson)
18/12/10在21:49
#2 楼
这是另一种方法,全都在逃犯之内。我相信其中一些是在2019年8月20日发布的3.0中新增的。有人创建了“新功能”。视频,我现在很难找到它。:Gstatus
命令引起了很多注意。在
:Gstatus
窗口中,可以使用这些子命令。还有很多其他方法,但是它们对我很有帮助。<C-N>
或<C-P>
跳转到下一个/上一个文件(如上所述)在文件上的
-
,暂存(或取消暂存)整个文件。=
显示光标所在的文件的git diff
。 -
在视觉上的选择中,对选定的行行进行分段(或取消分段)。我喜欢最后一次机会,它可以让我验证是否已进行了正确的更改,并且有助于通知提交消息。对我来说,这比处理单独的窗口以及-
和cvc
命令要容易。 Vim。
评论
看看这个视频广播是否有帮助另外,如果您尝试一下会怎样?
当我在vim(不是nvim)中尝试此操作时,我会启动到完整的终端,然后在完成后将其带回到vim。
@DavidBenKnoble,忘了提及,我在neovim之下,它没有启动到终端