当我运行时git log
,编辑器到底在git log
使用什么?
还:
- 无论如何我可以
vim
用作我的默认编辑器git log
吗? - 如果我想搜索 git log,最好的方法是什么?现在我正在做类似的事情:
git log | grep bla
.
默认情况下,该git log
命令将其输出通过管道传输到pager中,而不是编辑器中。这个寻呼机通常是less
或more
在大多数系统上。vim
您可以使用以下命令将默认寻呼机更改为:
git config --global core.pager 'vim -'
现在您可以像往常一样使用vim
功能进行搜索。/
您可能想查看viewlog。
它为您提供了所有提交的终端 gui 界面。它还将在您选择的编辑器中打开文件。您可以使用 --grep 标志搜索相关提交。
这对我有用:
git log | vim -R -
我写了一个 bash 脚本来从使用 vim 作为编辑器切换到 diff-so-fancy。
VT() {
gitlogflag=true
if [ -e "$HOME/.myscriptvar" ] ; then
gitlogflag=$(cat "$HOME/.myscriptvar")
fi
if [ "$gitlogflag" = true ]; then
git config --global pager.show "vim -c '%sm/\\e.\\{-}m//g' -c 'setlocal buftype=nofile' -c 'set ft=diff' +3 -";
gitlogflag=false
else
git config --global pager.show "diff-so-fancy | less --tabs=1,5 -RFX";
gitlogflag=true
fi
echo "$gitlogflag" > $HOME/.myscriptvar
}
我建议您使用diff-so-fancy。
如果你只是想用 vim 作为你的 git 日志编辑器git config --global pager.show "vim -c '%sm/\\e.\\{-}m//g' -c
会满足你的。