Tạo cấu hình tmux có thể khởi chạy?


24

Tôi thấy mình thường làm điều tương tự với tmux:

  1. cd đến một thư mục nhất định.
  2. tmux
  3. Đổi tên cửa sổ thành những gì tôi đang làm.
  4. Chia cửa sổ theo chiều dọc 50%.
  5. Bắt đầu một quá trình trong cửa sổ bên trái.
  6. Bắt đầu một quá trình khác trong cửa sổ bên phải.
  7. Lợi nhuận.

Có cách nào để tôi tự động khởi chạy tất cả những thứ này để tôi có thể chạy một lệnh duy nhất và nhận được cửa sổ mà tôi đang tìm kiếm không?


Điều gì về một bí danh vỏ?
Marco

Câu trả lời:


22

Archwiki tiết kiệm trong ngày! Phiên khởi tạo trên trang tmux cho một ví dụ.

Điều đó nói rằng, thay vì bắt đầu tmux như tmux, tmux new -s namesẽ đặt tên phiên khi nó bắt đầu thay vì cho nó một số.

Khởi tạo phiên


Bạn có thể yêu cầu tmux mở một phiên với các cửa sổ được tải sẵn bằng cách đưa các chi tiết đó vào ~ / .tmux.conf:

new  -n WindowName Command
neww -n WindowName Command
neww -n WindowName Command

Để bắt đầu một phiên với các cửa sổ tách (nhiều pan), hãy bao gồm lệnh splitw bên dưới neww mà bạn muốn tách; do đó:

new  -s SessionName -n WindowName Command
neww -n foo/bar foo
splitw -v -p 50 -t 0 bar
selectw -t 1 
selectp -t 0

sẽ mở 2 cửa sổ, cửa sổ thứ hai sẽ được đặt tên là foo / bar và sẽ được chia theo chiều dọc một nửa (50%) với foo chạy phía trên thanh. Tiêu điểm sẽ ở cửa sổ 2 (foo / bar), khung trên cùng (foo).

Lưu ý: Việc đánh số cho các phiên, cửa sổ và bảng bắt đầu từ 0, trừ khi bạn đã chỉ định chỉ số cơ bản là 1 trong .conf của bạn

Để quản lý nhiều phiên, hãy lấy các tệp phiên riêng biệt từ tệp conf của bạn:

# initialize sessions
bind F source-file ~/.tmux/foo
bind B source-file ~/.tmux/bar

6

Câu trả lời của Rob rất hay và giải thích chính xác cách xử lý các phiên từ bên trong tmux. Bây giờ, nếu bạn không phiền khi sử dụng công cụ của bên thứ ba, tmuxinator là một dự án tuyệt vời giúp tạo và quản lý phiên dễ dàng .

Mỗi phiên được điều khiển bởi một tệp cấu hình cho phép bạn xác định tất cả các cửa sổ và cửa sổ của mình cùng với bố cục và các lệnh mặc định của chúng để chạy trong chúng. Nó cũng cho phép bạn xác định một thư mục dự án mặc định, ổ cắm cụ thể và trình nền được yêu cầu để chạy (ví dụ: mysql). Trên hết, nó cũng cung cấp một phương thức dễ dàng để đính kèm với chúng: chỉ cần chạy mux [session-name]và nó sẽ bắt đầu phiên hoặc gắn vào nó nếu nó đang chạy. Tôi đã sử dụng nó một thời gian và yêu thích nó (cảm ơn aziz !).

https://github.com/aziz/tmuxinator

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.