Git登录ZSH终端

Bur*_*dem 5 git terminal zsh

我记得在一个Git教程视频中,用户的终端(可能是ZSH)被分成两部分; 一个用于标准终端命令,下面有一些像Git日志图形表示.它总是在终端的底部可见,颜色很好.

终端屏幕.

如何将终端屏幕分成两部分并在终端屏幕上显示Git日志(类似的东西git log --pretty=format:'%h : %s' --graph)?

更新:我在Vimeo上发现了视频,http://vimeo.com/16018419.我想在我的ZSH终端上进行完全相同的设置.

Jos*_*Gee 6

使用tmux,您可以拆分窗格zsh -c while :; do sleep 60; git log ...; done,这应该在窗格中实现自动刷新的git log输出.

提供[-vh] [percent]以拆分窗格以使用给定百分比的终端拆分vert或horiz.iirc,它从终端的底部和/或右侧分开,因此相应地调整百分比.

这应该具有在$ EDITOR(或以下)旁边的窗格中具有git日志的期望效果,具有适当的尺寸并且每分钟自动刷新.随意更改或清理语法以满足您的需求.

编辑:在tmux中重新生成窗格可以使用tmux内置来完成respawn-pane.你可以绑定这样的键来获得一个简单的快捷方式

bind-key -n先生respawn-pane -t git:0.1 [command]

在这个例子中,我假设3件事.首先,你有一个名为tmux的会话(名为git,但这是任意的,你可以选择使用rename-sessiontmux或启动会话new-session -s name).第二,git log(我们想要刷新的)是在索引0的窗口(这是在会话中打开的第一个窗口,默认情况下,除非你设置base-index为else)和索引1的窗格.

所以在这里,它通过按alt-r重新生成"git"会话中第一个窗口的第二个窗格.如果您使用之前提供的循环,则无需这样做,因为日志会在每次睡眠后自行刷新.对某些人来说可能被认为是浪费,所以你可以随意决定以你的心血来潮重新生成这个窗格.

[command]是可选的.tmux respawn-pane将执行首先生成窗格时给出的命令.在这个例子中,while默认情况下它将是循环.如果你跳过循环而只是使用,split-pane [-hv] [percent] "git log ..."那么不要提供可选的命令参数,因为窗格会巧妙地为你运行它.提供命令参数respawn-pane将优先于生成窗格时使用的初始命令.

最后,如果你split-pane最初没有提供命令参数,tmux将运行任何值default-command.

所以你有一个过于冗长的解释,说明如何以多种方式做这个视频.