2012-04-19 8 views
5

私はGitチュートリアルのビデオで、ユーザーの端末(おそらくZSH)が2つに分割されていることを覚えています。 1つは標準的なターミナルコマンド用であり、その下にはGit logグラフィカル表現のようなものがありました。ターミナルの底面にはいつも素敵な色が見えました。GitログインZSH端末

terminal screen

端末画面を2つに分割し、端末画面にGitログ(git log --pretty=format:'%h : %s' --graphなど)を表示するにはどうすればよいですか?

更新:私はビデオをVimeoのhttp://vimeo.com/16018419に見つけました。私はZSH端末で全く同じ設定をしようとしています。

+1

を、彼はGNU画面内のウィンドウ分割をやっているように見えるビデオから。 6時28分頃に見ると、何とか手動でディスプレイを更新する必要があります。標準の画面分割を行い、q/upを押してコマンドを再実行するだけで、これを達成できます。おそらくループでそれを実行して、自動的に10秒ごとに実行することもできます。 – Dougal

+0

はい、彼は手動でリフレッシュしているようです。この時点で、私は手動でリフレッシュすることができますが、問題はありません。 GNU画面を分割してもよろしいですか?私は彼が何か他のことをしていると思う。右のスクロールバーを見ると、上から下に向かっています。そして、彼はシェルコマンドを書いていない、爽やかです。私は、あなたが正しいかもしれないが、彼は何か違うことをしていると思います。 –

+1

端末のタイトルバーを見ると、その中の画面が表示され、それらのステータス行は私の画面のように見えます。そして、スクロールバーは、screenではなく、Terminal.app/iTerm.appにありますので、それは完全なものをカバーする意味があります。私は彼がどのように爽快であるか分かりません(シェルコマンドを再実行していないというのは正しいですが)再実行するのは同じ効果があるはずです...もし彼がバックグラウンドプロセスをファイルに書き出していて、ファイルを再読み込みする(またはエディタ内でコマンドを再実行する)という指示は、わかりません。 – Dougal

答えて

6

とtmuxを分割すると、zsh -c while :; do sleep 60; git log ...; doneを分割することができます。これにより、自動的に更新されたgitログ出力がペインに表示されます。

端末の所与のパーセントでスプリット・ペイントしてvertまたはhorizに分割する[-vh] [percent]を指定します。 iirc、それは端末の底部および/または右側から分割するので、それに従ってパーセンテージを調整する。

これは、$ EDITOR(またはそれ以下)の横にあるペインにgit logを置いて、適切なディメンションを持ち、毎分自動的に更新するという効果があります。あなたのニーズに合うように構文を変更またはクリーンアップしてください。

編集: tmuxでペインの再作成は、組み込みのtmux respawn-paneで行うことができます。あなたはこの単純なショートカットにM-R復活ペイン-t gitの-n

バインド・キーを取得したいキー何かバインドすることができます。この例では0.1 [コマンド]

を、私は3つの事を想定しています。最初にtmuxという名前のセッション(gitという名前がありますが、これはtmuxでrename-sessionを使用するか、new-session -s nameでセッションを開始することによって任意に選択できます)。 2番目に、gitログ(これは更新したいものです)はインデックス0のウィンドウです(これは、base-indexをelseに設定しない限り、セッションで最初に開いたウィンドウです)。インデックス1のペイン。

ここで、alt-rを押すと、 "git"セッションの最初のウィンドウの2番目のペインが再表示されます。以前に提供したループを使用している場合は、各スリープ後にログが更新されるため、これは不要です。それはあなたの気まずいところでこのペインを再現することを任意に決めてしまうかもしれません。

[コマンド]は省略可能です。 tmuxのrespawn-paneは、最初にペインが生成されたときに与えられたコマンドを実行します。この例では、ループはデフォルトでwhileになります。ループをスキップして、代わりにsplit-pane [-hv] [percent] "git log ..."を使用すると、ペインがスマートにそれを実行するので、オプションのコマンドパラメータを指定しないでください。 respawn-paneにコマンドパラメータを指定すると、ペインを生成する際に使用される最初のコマンドよりも優先されます。

最後に、split-paneにコマンドパラメータを指定しなかった場合、tmuxは値default-commandを実行します。

ここでは、このビデオが何をするかを過度に冗長に説明しています。

2

git log --oneline --graph --decorate --color=always gitログ出力の場合。

端末分割機能は、お使いのコンソールによって異なります。

+0

私はGit logコマンドを知っています。私はUbuntu 12とMac OS X 1.7の両方でZSHを使用しています。私は端末を2つに分割し、端末の一番下にそのGitログを表示したいと考えていました。とにかくありがとう:) –

+0

@BurakErdemあなたの質問は、スーパーユーザーに属しているようだ。 – KurzedMetal

1

さて、彼は分割はデフォルトで行われ、Mac上でITERM使用している

、あなただけのメニューに行くか、いずれかの短いコマンドを使用する必要があります。あなたはubuntu/linuxのターミネータでこれを取ることができます。 gnome-terminalを使い続けたい場合は、screenやtmuxを使ってこれをシミュレートすることができます。

ログには、彼はtig(http://jonas.nitro.dk/tig/):gitブラウジングツールを使用しています。それは簡単に簡単にインストールすることができます。ところで、時計を使ってログを自動更新することができるので、端末の別の部分に「autolog」を持たせることができます。 ;)ここで

watch git log --graph 

、私は私のコンソールにtmuxは使用しています:

Using tmux with some applications