Bagaimana cara menyeimbangkan panel tmux (1) secara merata?


217

Saya mencari perilaku yang mirip dengan bagaimana vim (1) menangani jendela yang terbelah dengannya ^w =. Saya tahu tmux (1) memiliki tata letak yang sudah ditentukan sebelumnya ^b Meta[1-5], tetapi kemungkinan ini tidak memiliki tata letak yang saat ini saya gunakan.

Saat memisahkan jendela, itu membagi dua jendela saat ini untuk kedua panel. Split lagi, dan itu membagi dua panel itu menjadi dua yang baru. Kombinasikan pemisahan vertikal dan horizontal, dan mereka terus membagi dua, masing-masing panel baru semakin kecil dan lebih kecil.

Bagaimana saya bisa menjaga tata letak baru yang baru saja saya buat, tetapi semua perpecahan vertikal dan horizontal seimbang, seperti halnya vim (1) ^w =?


Deskripsi untuk tata letak "ubin" mengatakan "Panel tersebar seluas mungkin di jendela pada baris dan kolom." Bisakah Anda jelaskan bagaimana yang Anda inginkan berbeda dari ini?
Lars Kotthoff

1
Tentu. Ini menggambarkannya dengan sangat baik: gist.github.com/1942422
Aaron Toponce

Jawaban:


284

Tegak lurus

select-layout even-vertical
Biasanya ditugaskan untuk: Ctrl+ b, Alt+2

Secara horizontal

select-layout even-horizontal
Biasanya ditugaskan untuk: Ctrl+ b, Alt+1


70
Untuk orang lain yang bertanya-tanya: C-b M-2berarti Control-b, dan M-2berarti alt + 2.
Christophe De Troyer

29
M-2 berarti ESC + 2 untuk saya di Debian menggunakan Terminal Gnome. Mungkin tergantung pengaturan.
arcyqwerty

7
C-...dan M-...emacs-ims M- berarti "meta" yang merupakan [Alt] dalam kombinasi dengan atau [Esc] diikuti oleh kunci yang dirujuk kedua opsi terlihat sama di atas kabel, tetapi ada kemungkinan bahwa GUI Anda mungkin menjebak [ Alt] sequence
Jasen

3
Hanya untuk menempatkan ini di sini kalau-kalau itu membantu orang lain, karena saya selalu bingung, "vertikal" dan "horizontal" adalah arah jarak --yaitu, memilih genap-vertikal akan membuat tata letak di mana tiga panel ditumpuk secara vertikal, tingginya sama, di mana bahkan horizontal akan membuat tata letak di mana ketiga panel berdampingan, lebarnya sama
A. Wilson

Bagaimana cara melakukan M-2 pada macOS dengan keyboard di mana "2" memerlukan penekanan shift (seperti keyboard Perancis)? Saya tidak berhasil, dengan berbagai kombinasi alt, kontrol, perintah, melarikan diri dan shift + 2 ...
Eric O Lebigot

95

Anda dapat menggunakan ctrl-b spaceuntuk menelusuri tata letak dengan spasi genap, tetapi itu tidak serta merta mempertahankan tata letak yang Anda miliki.


2
Ide di balik trik (jika Anda ingin untuk memetakan ke sesuatu yang lain atau disesuaikan): bind-key -r Space next-layout. Lalu C-b Space Space Space...
BenC

3
Apakah ada cara untuk mengetahui tata letak mana yang telah saya pilih, dan bagaimana cara cepat melompat ke sana lagi?
Hughes

20

Dari baris perintah yang dapat Anda gunakan

tmux select-layout tiled

untuk membuat belahan Anda berukuran hampir sama. Anda dapat mengikatnya ke perintah kunci juga.


3
Biasanya ditugaskan untuk:C-b M-5
minipif

7

Saya tidak tahu jalan pintas satu tombol, tetapi mungkin ini membantu Anda:

Anda dapat mencoba menulis beberapa skrip untuk melakukan tata letak, dan ikat kunci skrip. Anda dapat melakukan ini dengan menggunakan tmuxperintah pipe-pane [-o] [-t target-pane] [shell-command]untuk menulis tata letak saat ini ke skrip. Selanjutnya Anda perlu membaca tata letak yang disiapkan oleh skrip menggunakan tmuxperintah select-layout.


1

Saya mengalami kesulitan menemukan mantra sihir untuk dibagi menjadi 4 kuadran yang sama, jadi ini dia:

# 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 blalu :resize-pane -Mgunakan mouse Anda! ( mouse-modeharus diaktifkan)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.