2012-04-19 71 views
5

我記得在一個Git教程的視頻中,用戶的終端(可能是ZSH)被分成兩部分;一個用於標準終端命令,下面有一些像Git日誌圖形表示。它總是在終端的底部以漂亮的顏色可見。Git登錄ZSH終端

terminal screen

如何將終端屏幕拆分爲兩個並在終端屏幕上顯示Git日誌(如git log --pretty=format:'%h : %s' --graph)?

更新:我在Vimeo上找到了視頻,http://vimeo.com/16018419。我正在嘗試在我的ZSH終端上進行完全相同的設置。

+1

從它看起來像他做的GNU屏幕窗口拆分視頻。如果你在6點28分左右看,他也必須以某種方式手動刷新顯示。你可以通過標準的屏幕分割和點擊q/up重新運行命令來完成這個任務;你也可以在一個循環中運行它,每10秒鐘自動執行一次。 – Dougal 2012-04-19 20:48:19

+0

是的,似乎他手動刷新。在這一點上,我可以去手動刷新,沒問題。你確定要拆分GNU屏幕嗎?我認爲他在做別的事情。如果你看右邊的滾動條,它從上到下覆蓋。他很爽快,不寫一個shell命令。我不知道,也許你是對的,但我認爲他正在做一些不同的事情。 – 2012-04-19 20:55:20

+1

如果你看看終端的標題欄,它會顯示它的屏幕,而這些狀態行看起來就像是我的屏幕。而滾動條在Terminal.app/iTerm.app中,而不是屏幕,所以它可以覆蓋整個事物。我不知道他是如何令人耳目一新的(你是對的,它不是重新運行一個shell命令),但重新運行應該有同樣的效果......也許他有一個後臺進程寫出一個文件,並正在做一些編輯器咒語重新加載文件(或只是在編輯器內重新運行命令),不確定。 – Dougal 2012-04-19 21:02:41

回答

6

與tmux,你可以拆分窗格zsh -c while :; do sleep 60; git log ...; done,這應該實現了自動刷新窗格中的git日誌輸出。

將[[vh] [percent]]提供給拆分窗格,以便將vert或horiz與給定的終端百分比分開。 iirc,它從終端的底部和/或右側分開,因此相應地調整百分比。

這應該具有git log在$ EDITOR(或以下)旁邊的窗格中的預期效果,並具有適當的尺寸並每分鐘自動刷新一次。隨時修改或清理語法以滿足您的需求。

編輯: 在tmux中重新生成窗格可以使用tmux內置respawn-pane完成。你可以綁定一個鍵像這樣得到一個簡單快捷

綁定鍵-n M-[R重生窗格-t的git:0.1命令]

在這個例子中

,我認爲三兩件事。首先,您有一個名爲tmux的會話(名爲git,但是這是任意的,並且通過在tmux中使用rename-session或通過使用new-session -s name啓動會話來選擇)。其次,git日誌(這是我們想要刷新的)位於索引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

所以你有一個過度詳細的解釋如何做這個視頻做多種方式。

2

git log --oneline --graph --decorate --color=always爲git日誌輸出。

終端拆分功能取決於您的控制檯。

+0

我知道Git log命令。我在Ubuntu 12和Mac OS X 1.7上都使用了ZSH,並且我正在尋找將終端拆分爲兩部分並在終端底部顯示該Git日誌。感謝無論如何:) – 2012-04-19 20:35:02

+0

@BurakErdem然後你的問題似乎屬於超級用戶。 – KurzedMetal 2012-04-20 11:35:02

1

好吧,

他是在Mac上使用的iTerm,分割在默認情況下做出,你只需要進入菜單或使用任何簡短的命令。你可以在ubuntu/linux上使用終止符。如果你想繼續使用gnome-terminal,你可以使用screen或者tmux來模擬這個。

在日誌中,他使用tig(http://jonas.nitro.dk/tig/):一個git瀏覽工具。它可以安裝容易。順便說一句,您可以使用手錶自動更新您的日誌,這樣您可以在終端的其他部分擁有「自動登錄」功能。 ;)

watch git log --graph 

在這裏,我使用TMUX在我的控制檯:

Using tmux with some applications