tmux: làm thế nào để liên kết một khóa để khởi chạy lệnh shell?


9

Tôi sử dụng tmuxđể phát triển, với hai bảng: một để chỉnh sửa mã và một để biên dịch mã. Tôi cần phải thường xuyên chuyển khung để khởi chạy lệnh biên dịch (nói " mvn install").
Làm cách nào tôi có thể liên kết một khóa (nói " Ctrl+ B C") để khởi chạy lệnh cụ thể đó trong khung khác (hoặc không có bất kỳ ngăn nào cả)?

Câu trả lời:


7

C-b cđã có một ràng buộc tiêu chuẩn mà có thể là khôn ngoan để không thay đổi. Chọn một ký tự khác, ví dụ: C-b Cbạn có thể thiết lập một ràng buộc trong ~/.tmux.conftệp của mình như sau:

bind C send-keys -t.- 'mvn install' Enter

-t.-nghĩa là "khung khác". Enterlà viết tắt của khóa của tên đó, tức là dòng mới ở cuối lệnh.


Cảm ơn giải pháp. Tuy nhiên, tôi đã học được rằng nó cũng in lệnh vào khung thiết bị đầu cuối do.
elquimista

7

Câu trả lời đúng cho câu hỏi này là: use bind-key, vd:

tmux bind-key "$KEY" run-shell "/path/to/script.sh"

nơi KEY=Ctrong trường hợp của bạn.


Cảm ơn. Nó không rõ ràng cho tôi nơi lệnh sẽ được chạy? Trong khung nào sẽ là đầu ra?
cdupont

Đây phải là câu trả lời được chấp nhận. Câu trả lời của meuh hoạt động nhưng nó mô phỏng tương tác thực sự của con người, do đó dẫn đến việc in lệnh vào khung thiết bị đầu cuối.
elquimista
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.