如何使用 vim 作为 'git show' 编辑器?
How do I use vim as 'git show' editor?
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 -'
更好 (2021-02-05)
git config --global core.pager 'vim -R -'
这里有一个 Twitter post 可以解决这个问题。
https://twitter.com/oliviergay/status/179692941063888896
Using git show
with vim
and syntax highlighting: vimgitshow() { git show "" | vim - "+set filetype=${1##*.}"; }
这对我有用:
git config --global pager.show "vim -c '%sm/\e.\{-}m//g' -c 'set ft=diff' +1 -"
疯狂的 vim 参数在这里找到:
您可以使用以下命令:
PAGER='vim -' git -c color.ui=false show
您可能还想使用比仅补丁语法高亮显示更好的差异。它允许您使用 git show
并查看 vimdiff
中每个文件的差异。看到这个 answer.
可以简单地在编辑 mod 中使用 git show bf9f84042 | vim -
,或者在只读 mod 中使用 git show bf9f84042 | vim -R -
,无需更改 gitconfig
或
git config --global diff.tool vimdiff
使用 vimdiff 作为 diff.tool,然后 git difftool bf9f042 232wf2f
到 diff
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 -'
更好 (2021-02-05)
git config --global core.pager 'vim -R -'
这里有一个 Twitter post 可以解决这个问题。
https://twitter.com/oliviergay/status/179692941063888896
Using
git show
withvim
and syntax highlighting:vimgitshow() { git show "" | vim - "+set filetype=${1##*.}"; }
这对我有用:
git config --global pager.show "vim -c '%sm/\e.\{-}m//g' -c 'set ft=diff' +1 -"
疯狂的 vim 参数在这里找到:
您可以使用以下命令:
PAGER='vim -' git -c color.ui=false show
您可能还想使用比仅补丁语法高亮显示更好的差异。它允许您使用 git show
并查看 vimdiff
中每个文件的差异。看到这个 answer.
可以简单地在编辑 mod 中使用 git show bf9f84042 | vim -
,或者在只读 mod 中使用 git show bf9f84042 | vim -R -
,无需更改 gitconfig
或
git config --global diff.tool vimdiff
使用 vimdiff 作为 diff.tool,然后 git difftool bf9f042 232wf2f
到 diff