10

当我运行时git log,编辑器到底在git log使用什么?

还:

  1. 无论如何我可以vim用作我的默认编辑器git log吗?
  2. 如果我想搜索 git log,最好的方法是什么?现在我正在做类似的事情:git log | grep bla.
4

4 回答 4

27

默认情况下,该git log命令将其输出通过管道传输到pager中,而不是编辑器中。这个寻呼机通常是lessmore在大多数系统上。vim您可以使用以下命令将默认寻呼机更改为:

git config --global core.pager 'vim -'

现在您可以像往常一样使用vim功能进行搜索。/

于 2013-05-21T09:04:33.780 回答
1

您可能想查看viewlog

它为您提供了所有提交的终端 gui 界面。它还将在您选择的编辑器中打开文件。您可以使用 --grep 标志搜索相关提交。

于 2016-01-26T20:13:20.630 回答
1

这对我有用: git log | vim -R -

于 2021-07-04T04:30:49.010 回答
0

我写了一个 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会满足你的。

于 2016-08-18T10:50:23.740 回答