với tmux, bạn có thể chia ngăn cửa sổ zsh -c while :; do sleep 60; git log ...; done
và điều này sẽ đạt được đầu ra nhật ký git tự động làm mới trong ngăn.
cung cấp [-vh] [phần trăm] để chia ngăn cửa sổ để phân chia đỉnh hoặc chân trời với một phần trăm nhất định của thiết bị đầu cuối. iirc, nó chia tách từ phía dưới và/hoặc bên phải của thiết bị đầu cuối, do đó điều chỉnh tỷ lệ phần trăm cho phù hợp.
điều này sẽ có tác dụng mong muốn của việc git đăng nhập trong một cửa sổ bên cạnh $ EDITOR (hoặc bên dưới), với kích thước thích hợp và tự động làm mới mỗi phút. cảm thấy tự do thay đổi hoặc làm sạch cú pháp cho phù hợp với nhu cầu của bạn.
EDIT: respawning một ngăn trong tmux có thể được thực hiện với tmux builtin respawn-pane
. bạn có thể gắn một cái gì đó quan trọng như thế này để có được một phím tắt đơn giản
bind-key -n M-r respawn-pane git -t: 0.1 [command]
trong ví dụ này, tôi giả định 3 điều. đầu tiên, bạn có một phiên tmux được đặt tên (có tên git, nhưng đây là tùy ý và theo lựa chọn của bạn bằng cách sử dụng rename-session
trong tmux hoặc bằng cách khởi chạy phiên với new-session -s name
). thứ hai, rằng git log (là cái chúng ta muốn làm mới) nằm ở cửa sổ của chỉ số 0 (đây là cửa sổ đầu tiên được mở trong một phiên, theo mặc định, trừ khi bạn đặt base-index
cho người khác) và ngăn chỉ mục 1.
vậy tại đây, nó sẽ hiển thị lại cửa sổ thứ hai của cửa sổ đầu tiên trong phiên "git" bằng cách nhấn alt-r. nếu bạn sử dụng vòng lặp mà tôi đã cung cấp trước đây, điều này là không cần thiết để làm vì nhật ký sẽ tự làm mới sau mỗi lần ngủ. có thể được coi là lãng phí đối với một số người, vì vậy bạn có thể tự ý quyết định giữ lại khung này theo ý thích của bạn.
[lệnh] là tùy chọn. respawn-pane
của tmux sẽ thực hiện lệnh được cung cấp khi cửa sổ được sinh ra lúc đầu. trong ví dụ này, nó sẽ là vòng lặp while
theo mặc định. nếu bạn bỏ qua vòng lặp và thay vì chỉ sử dụng split-pane [-hv] [percent] "git log ..."
thì không cung cấp tham số lệnh tùy chọn vì ngăn sẽ chạy nó cho bạn một cách thông minh. việc cung cấp tham số lệnh tới respawn-pane
sẽ được ưu tiên hơn lệnh ban đầu được sử dụng khi sinh ra cửa sổ.
cuối cùng, nếu bạn không cung cấp tham số lệnh vào split-pane
ban đầu, tmux sẽ chạy bất kỳ giá trị nào default-command
là.
để bạn có giải thích quá chi tiết về cách thực hiện những gì video này thực hiện theo nhiều cách.
Từ đoạn video có vẻ như ông đang thực hiện chia cửa sổ trong màn hình GNU. Nếu bạn nhìn quanh 6:28, anh ta cũng phải làm mới màn hình bằng cách nào đó. Bạn có thể thực hiện điều đó chỉ bằng cách thực hiện chia tách màn hình chuẩn và nhấn q/up để chạy lại lệnh; bạn cũng có thể chạy nó trong một vòng lặp để làm điều đó tự động sau mỗi 10 giây hoặc bất cứ điều gì. – Dougal
Có, có vẻ như anh ấy đang làm mới theo cách thủ công. Tại thời điểm này, tôi có thể đi với làm mới bằng tay, không có vấn đề gì. Bạn có chắc chắn về việc tách màn hình GNU không? Tôi nghĩ anh ấy đang làm điều gì khác. Nếu bạn nhìn vào thanh cuộn ở bên phải, nó bao gồm từ trên xuống dưới. Và anh ấy đang làm mới, không viết lệnh shell. Tôi không biết, có thể bạn nói đúng nhưng tôi nghĩ anh ấy đang làm điều gì đó khác. –
Nếu bạn nhìn vào thanh tiêu đề của thiết bị đầu cuối, nó sẽ hiển thị màn hình trong đó, và những dòng trạng thái đó trông giống như màn hình với tôi. Và thanh cuộn nằm trong Terminal.app/iTerm.app, không phải màn hình, do đó, nó có ý nghĩa rằng nó sẽ bao gồm đầy đủ. Tôi không chắc làm thế nào anh ta làm mới (bạn đúng rằng nó không rerunning một lệnh shell), nhưng lại chạy nên có tác dụng tương tự ... có lẽ anh ta có một quá trình nền viết ra một tập tin và đang làm một số trình soạn thảo để tải lại tệp (hoặc chỉ chạy lại lệnh bên trong trình chỉnh sửa), không chắc chắn. – Dougal