Tôi muốn đặt chi nhánh git
hiện tại vào lời nhắc ZSH nhiều dòng của tôi. Tuy nhiên, điều này làm rối tung hai dòng - tôi muốn chúng xếp hàng độc đáo.Đếm số lượng chuỗi hiển thị của người dùng cho lời nhắc zsh
┌─([email protected]:s000)─[master *]────────────────
───(~ )─┐
└─(127:15:44)── ──(Sat,May12)─┘
nên là:
┌─([email protected]:s000)─[master *]─────────(~ )─┐
└─(127:15:44)── ──(Sat,May12)─┘
Nhánh git
được nắm lấy từ một chức năng oh-my-zsh
, git_prompt_info()
, mà mang lại cho tôi những chi nhánh, tình trạng bẩn thỉu, và một loạt các cửa sổ-thoát để tô màu những thứ độc đáo.
Làm cách nào để đếm các ký tự được hiển thị rõ ràng được chèn vào lời nhắc ZSH - không phải là chuỗi thoát nhanh?
'(S)' làm cho phù hợp không tham lam do đó chuyển "dài nhất có thể phù hợp" thành "ngắn nhất có thể phù hợp" (không có nó '{*}' trong một mô hình sẽ biến điều như '% F {xanh}% M% F {yellow}% #% f' chỉ vào'% # ', trong khi nó sẽ biến nó thành'% M% # '),' (%%) 'thực hiện mở rộng dấu nhắc trên chuỗi, sau tùy chọn PROMPT_ *. Lưu ý: phương pháp này nên tránh nếu chuỗi PROMPT chứa một lệnh với một số tác dụng phụ: ví dụ, nếu bạn muốn sử dụng nó để đếm tần suất hiển thị lời nhắc. Hầu hết thời gian bạn sẽ không phải chịu đựng điều này. – ZyX
Và có, tất cả các cờ '(*)' được mô tả trong phần PARAMETER EXPANSION của 'man zshexpn'. – ZyX
@ZyX Cảm ơn. Tôi thấy lời giải thích cho 'S' trong trang' zshexpn', nhưng không chắc nó được trang bị như thế nào. – simont