我在vim中遇到的最大瓶颈是我需要编写提交的那一刻。通常,我不记得差异。首先我写“git diff”。然后我写“git commit”但是,......“嘿!我不记得了......”。因此,我需要停止写提交消息,然后我回来并运行diff消息。有时我使用两个窗口:在左边我运行“git diff”。在右边我运行“git commit”。这允许我写一个提交消息完成,而我可以观察每个文件的差异,......等等。
有人可以帮助我在vim工作流程中改善这一时刻吗?
答案 0 :(得分:12)
使用git commit -v
在提交时查看vim中的差异。
-v, --verbose
Show unified diff between the HEAD commit and what would be
committed at the bottom of the commit message template. Note
that this diff output doesn't have its lines prefixed with #.
答案 1 :(得分:2)
Vim附带的ftplugin/gitcommit.vim
有一个:DiffGitCached
命令,可以在分割暂存缓冲区中打开差异。我已经为其分配了快速映射(在~/.vim/after/ftplugin/gitcommit.vim
中):
nnoremap <LocalLeader><LocalLeader> :DiffGitCached<CR>
答案 2 :(得分:1)
您可以使用git commit -p
查看提交之前所做的所有更改。见man git commit
-p, --patch
Use the interactive patch selection interface to chose which changes to commit.
See git-add(1) for details.
编辑:有关更好的方法,请参阅@ Fdinoff对您的问题的评论。
答案 3 :(得分:0)