Câu trả lời:
Tôi đã đăng bài này như một vấn đề và nhận được câu trả lời này:
Bạn có thể rebind tất cả các khóa của bạn để thêm
switch-client -Tprefix
vào cuối mỗi chuỗi lệnh, nhưng không có cách nào tự động để làm điều này.
Vấn đề ở đây là nó sẽ không hoạt động nếu lệnh ném lỗi, nhưng bạn có thể làm việc xung quanh nó bằng cách sử dụng
Có lỗi sẽ hủy chuỗi lệnh bạn có thể khắc phục bằng cách sử dụng run-shell, vd
run "tmux mycmd; tmux switch-client -Tprefix"
Nhưng điều đó có thể che giấu lỗi được hiển thị.
Cấu hình hiện tại của tôi trông như thế này:
bind c new-window \; switch-client -T prefix
bind . command-prompt \; switch-client -T prefix
bind , copy-mode \; switch-client -T prefix
# Vim style splits
bind s split-window -v \; switch-client -T prefix
bind v split-window -h \; switch-client -T prefix
# Double tab to cycle panes
bind C-a select-pane -t :.+ \; switch-client -T prefix
Từ những gì tôi thu thập được, tmux sử dụng các bối cảnh khác nhau cho các ràng buộc khác nhau. Để chỉ định trong bối cảnh sử dụng liên kết, bạn sử dụng bind <key> -T <context>
, trong đó tiền tố là mặc định. Bạn có thể chuyển ngữ cảnh bằng cách sử dụng switch-client -T <context>
, vì vậy những gì chúng tôi làm là áp dụng lại tiền tố sau mỗi lệnh.
Hạn chế của phương pháp này là:
Thêm! Bạn có thể thêm một chỉ báo thú vị, khá hữu ích khi bạn ở chế độ tiền tố trong một thời gian dài hơn bằng cách sử dụng một cái gì đó như
set -g status-right "#{?client_prefix,#[reverse]● #[noreverse],#[reverse]○ #[noreverse]}"