Làm thế nào để tôi cân bằng nhau tmux (1) tấm chia?


217

Tôi đang tìm kiếm một hành vi tương tự như cách vim (1) xử lý các cửa sổ phân chia của nó ^w =. Tôi biết tmux (1) có bố cục được xác định trước ^b Meta[1-5], nhưng điều này có thể không có bố cục mà tôi hiện đang sử dụng.

Khi tách một cửa sổ, nó sẽ giảm một nửa cửa sổ hiện tại cho cả hai khung. Tách một lần nữa, và nó chia một nửa khung thành hai mới. Kết hợp các phân chia dọc và ngang, và chúng tiếp tục chia đôi nhau, mỗi khung mới ngày càng nhỏ hơn.

Làm cách nào tôi có thể giữ bố cục mới mà tôi vừa tạo, nhưng có tất cả các phân chia dọc và ngang cân bằng như nhau, giống như vim (1) không ^w =?


Mô tả cho bố cục "lát gạch" cho biết "Panes được trải đều nhất có thể trên cửa sổ ở cả hàng và cột." Bạn có thể giải thích làm thế nào những gì bạn muốn khác với điều này xin vui lòng?
Lars Kotthoff

1
Chắc chắn rồi. Điều này mô tả nó rất tốt: gist.github.com/1942422
Aaron Toponce

Câu trả lời:


284

Theo chiều dọc

select-layout even-vertical
Thường được gán cho: Ctrl+ b, Alt+2

Theo chiều ngang

select-layout even-horizontal
Thường được gán cho: Ctrl+ b, Alt+1


70
Đối với những người khác đang tự hỏi: C-b M-2có nghĩa là Control-b, và M-2có nghĩa là alt + 2.
Barshe De Troyer

29
M-2 có nghĩa là ESC + 2 đối với tôi trên Debian bằng Gnome Terminal. Có lẽ phụ thuộc vào thiết lập.
arcyqwerty

7
C-...M-...là emacs-ims M- có nghĩa là "meta" là [Alt] kết hợp với hoặc [Esc] theo sau là khóa được tham chiếu cả hai tùy chọn trông giống nhau trên dây, nhưng có khả năng GUI của bạn có thể bị mắc kẹt [ Trình tự Alt]
Jasen

3
Chỉ cần đặt cái này ở đây trong trường hợp nó giúp người khác, bởi vì tôi thường xuyên bối rối, "dọc" và "ngang" là hướng của khoảng cách - đó là, chọn theo chiều dọc sẽ tạo ra một bố cục trong đó ba tấm được xếp chồng lên nhau theo chiều dọc, chiều cao bằng nhau, trong đó chiều ngang chẵn sẽ tạo ra bố cục trong đó ba tấm cạnh nhau, chiều rộng bằng nhau
A. Wilson

Làm cách nào để thực hiện M-2 trên macOS bằng bàn phím trong đó "2" yêu cầu nhấn shift (như bàn phím tiếng Pháp)? Tôi đã không thành công, với sự kết hợp khác nhau của alt, điều khiển, chỉ huy, thoát và dịch chuyển + 2
Thẻ

95

Bạn có thể sử dụng ctrl-b spaceđể xoay vòng các bố cục với khoảng cách đều nhau, nhưng điều đó sẽ không nhất thiết giữ nguyên bố cục bạn có.


2
Ý tưởng đằng sau mánh khóe (nếu bạn muốn ánh xạ nó sang thứ khác hoặc điều chỉnh nó) : bind-key -r Space next-layout. Sau đó C-b Space Space Space...
BenC

3
Có cách nào để biết bố cục nào tôi đã chọn và cách nhanh chóng chuyển sang bố cục đó không?
hughes

20

Từ dòng lệnh bạn có thể sử dụng

tmux select-layout tiled

để làm cho các phần tách của bạn có kích thước gần bằng nhau. Bạn cũng có thể liên kết nó với một lệnh chính.


3
Thường được gán cho:C-b M-5
minipif

7

Tôi không biết bất kỳ phím tắt đơn nào, nhưng có lẽ điều này giúp bạn:

Bạn có thể thử viết một số tập lệnh để thực hiện bố cục và liên kết một khóa với tập lệnh. Bạn có thể làm điều này bằng cách sử dụng tmuxlệnh pipe-pane [-o] [-t target-pane] [shell-command]để viết bố cục hiện tại vào tập lệnh. Tiếp theo, bạn cần đọc một bố cục được chuẩn bị bởi kịch bản tmuxlệnh select-layout.


1

Tôi đã gặp khó khăn trong việc tìm kiếm câu thần chú để chia thành 4 góc phần tư bằng nhau, vì vậy đây là:

# Split session into FOUR EQUAL quadrants
tmux selectp -t 0    # select the first (0) pane
tmux splitw -h -p 50 # split it into two halves
tmux selectp -t 0    # select the first (0) pane
tmux splitw -v -p 50 # split it into two halves

tmux selectp -t 2    # select the new, second (2) pane
tmux splitw -v -p 50 # split it into two halves
tmux selectp -t 0    # go back to the first pane

1

ctrl bvà sau đó :resize-pane -Mvà sau đó chỉ cần sử dụng chuột của bạn! (yêu cầu mouse-modephải được kích hoạt)

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.