所有How do I use vim as 'git log' editor?中描述的内容都不适用于git show。 我经常使用
git show HEAD
ctrl+z
ps
PID TTY TIME CMD
7083 pts/8 00:00:06 bash
31758 pts/8 00:00:00 git
31759 pts/8 00:00:00 less
31762 pts/8 00:00:00 ps
更新我找到了解决方案:
git config --global pager.color false
git config --global pager.show 'vim -R -'
'
答案 0 :(得分:9)
您可以使用以下命令:
PAGER='vim -' git -c color.ui=false show
答案 1 :(得分:4)
这是一篇解决该问题的Twitter帖子。
https://twitter.com/oliviergay/status/179692941063888896
将
git show
与vim
一起使用,语法高亮显示:vimgitshow() { git show "$1" | vim - "+set filetype=${1##*.}"; }
答案 2 :(得分:2)
这对我有用:
git config --global pager.show "vim -c '%sm/\\e.\\{-}m//g' -c 'set ft=diff' +1 -"
疯狂的vim args在这里找到:https://stackoverflow.com/a/17015531/610634
答案 3 :(得分:0)
您可能还想使用更好的差异而不仅仅是补丁语法高亮。它允许您使用java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
并查看git show
中每个文件的差异。请参阅此answer。
答案 4 :(得分:0)
可以简单地在编辑模式中使用 git show bf9f84042 | vim -
,或在只读模式中使用 git show bf9f84042 | vim -R -
,而无需更改 gitconfig
或
git config --global diff.tool vimdiff
使用 vimdiff 作为 diff.tool,然后 git difftool bf9f042 232wf2f
来 diff