z tmux, można podzielić panel zsh -c while :; do sleep 60; git log ...; done
i powinno to uzyskać automatyczne odświeżanie wyjścia dziennika git w okienku.
doprowadza [-vh] [procent] do podzielonego panelu, aby podzielić pion lub poziom z danym procentem terminalu. iirc, dzieli się od dolnej i/lub prawej strony terminala, więc odpowiednio dostosuj procent.
powinno to przynieść pożądany efekt logowania git w okienku obok $ EDITOR (lub poniżej), o odpowiednich wymiarach i automagicznie odświeżać każdą minutę. możesz dowolnie modyfikować lub czyścić składnię w zależności od potrzeb.
EDYCJA: odradzanie panelu w tmux można wykonać za pomocą wbudowanego tmux respawn-pane
. można powiązać kluczową coś takiego dostać prosty skrót
bind-key -n M-R respawn okienku -t git: 0,1 [polecenie]
w tym przykładzie, zakładamy 3 rzeczy. po pierwsze, masz nazwaną sesję tmux (o nazwie git, ale jest to dowolne i do wyboru przy użyciu rename-session
w tmux lub przez uruchomienie sesji z new-session -s name
). po drugie, że dziennik git (który chcemy odświeżyć) znajduje się w oknie o indeksie 0 (domyślnie jest to pierwsze okno otwarte w sesji, chyba że ustawiono base-index
na inną) i okienko indeksu 1.
, więc tutaj odradza się drugi panel pierwszego okna sesji "git", naciskając alt-r. jeśli użyjesz wcześniej podanej pętli, nie będzie to konieczne, ponieważ dziennik odświeży się po każdym śnie. które mogą być dla niektórych nieużyteczne, więc możesz arbitralnie zdecydować się na odrodzenie tego panelu w swoim kaprysie.
[polecenie] jest opcjonalne. tmux's respawn-pane
wykona polecenie, które zostało nadane, gdy początkowo został utworzony panel. w tym przykładzie będzie to domyślnie pętla while
. jeśli pominiesz pętlę i zamiast tego po prostu użyjesz split-pane [-hv] [percent] "git log ..."
, nie podawaj opcjonalnego parametru polecenia, ponieważ okienko to uruchomi inteligentnie. przekazanie parametru polecenia do respawn-pane
będzie miało pierwszeństwo przed początkowym poleceniem użytym przy spawaniu panelu.
na koniec, jeśli początkowo nie podasz parametru komendy do split-pane
, tmux będzie działał niezależnie od wartości default-command
.
, więc masz zbyt szczegółowe wyjaśnienie, jak zrobić to, co robi ten film na wiele sposobów.
z filmu wygląda jak robi podziału okna na ekranie GNU. Jeśli rozejrzysz się wokół 6:28, musi on jakoś ręcznie odświeżyć wyświetlacz. Możesz tego dokonać, wykonując standardowy podział ekranu i naciskając q/up, aby ponownie uruchomić polecenie; możesz też prawdopodobnie uruchomić go w pętli, aby zrobić to automatycznie co 10 sekund lub cokolwiek innego. – Dougal
Tak, wygląda na to, że odświeża się ręcznie. W tym momencie mogę przejść z ręcznym odświeżaniem, bez problemu. Czy jesteś pewien, że podzielisz ekran GNU? Myślę, że robi coś innego. Jeśli spojrzysz na pasek przewijania po prawej stronie, pokrywa się od góry do dołu. I jest odświeżający, nie pisząc polecenia powłoki. Nie wiem, może masz rację, ale myślę, że robi coś innego. –
Jeśli spojrzysz na końcowy pasek tytułu, zobaczysz w nim ekran, a te linie statusu będą dla mnie wyglądać jak ekran. Pasek przewijania znajduje się w pliku Terminal.app/iTerm.app, a nie na ekranie, więc ma sens, by obejmował całość. Nie wiem, jak on się odświeża (masz rację, że nie jest to powtórzenie polecenia powłoki), ale ponowne uruchomienie powinno mieć ten sam efekt ... może ma proces w tle wypisujący plik i wykonujący jakiś edytor inkantacja, aby ponownie załadować plik (lub po prostu ponownie uruchomić polecenie wewnątrz edytora), nie jestem pewien. – Dougal