如何将vim用作'git log'编辑器?

时间:2013-05-21 09:02:12

标签: git vim pager git-log

当我运行git log时,编辑器git log究竟使用了什么?

另外:

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

4 个答案:

答案 0 :(得分:21)

git log命令将其输出默认输出到 pager ,而不是编辑器。在大多数系统上,此寻呼机通常为lessmore。您可以使用以下命令将默认寻呼机更改为vim

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

现在,您可以照常使用vim功能/进行搜索。

答案 1 :(得分:1)

您可能需要查看 viewlog

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

答案 2 :(得分:0)

我写了一个bash脚本,从使用vim作为编辑器切换到差异化。

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将满足您。

答案 3 :(得分:0)

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