ฉันจะคว้าหน้าต่างจากเซสชัน tmux ที่แตกต่างกันโดยสิ้นเชิงและแนบเป็นตัวแยกแนวนอน / แนวตั้งกับหน้าต่างปัจจุบันได้อย่างไร
ฉันจะคว้าหน้าต่างจากเซสชัน tmux ที่แตกต่างกันโดยสิ้นเชิงและแนบเป็นตัวแยกแนวนอน / แนวตั้งกับหน้าต่างปัจจุบันได้อย่างไร
คำตอบ:
ดูเหมือนว่าคุณกำลังมองหาบานหน้าต่างเข้าร่วม ในทางเทคนิคสำหรับส่วนที่สองของคำถามของคุณคุณต้องการเข้าร่วมบานหน้าต่างกับหน้าต่างปัจจุบันไม่ใช่หน้าต่างเต็มจากเซสชันอื่นเนื่องจากอาจมีหลายบานหน้าต่าง
นี่คือตัวอย่าง สมมติว่าคุณอยู่ในเซสชั่น 0, หน้าต่าง 4 และในเซสชั่น 2 ที่คุณต้องการบานหน้าต่างของ 3 หน้าต่าง 1 ในพร้อมท์ tmux ( ctrl+b :
โดยค่าเริ่มต้น)
join-pane -s 2:3.1
สิ่งนี้จะย้ายบานหน้าต่าง 1 จากหน้าต่าง 3, เซสชัน 2 (-s เป็นหน้าต่างต้นฉบับและใช้รูปแบบเซสชัน: window.pane) ไปยังเซสชันปัจจุบันของคุณ (เซสชัน 0)
ด้านล่างนี้เป็นเอกสารฉบับเต็มสำหรับเข้าร่วมบานหน้าต่างซึ่งคุณสามารถรับได้จากหน้า man ของ tmux ส่วนที่สับสนที่สุดสำหรับฉันที่อ่านเอกสารนั้นคือการหารูปแบบที่คาดไว้สำหรับ src-pane ที่ระบุเซสชันหมายเลขหน้าต่างและบานหน้าต่าง ( session:window.pane
ตามตัวอย่างด้านบน) คุณยังสามารถตั้งชื่อเซสชันและหน้าต่างของคุณและใช้ชื่อเหล่านั้นแทนหมายเลขดัชนี
join-pane [-dhv] [-l size | -p percentage] [-s src-pane] [-t dst-pane]
(alias: joinp)
Like split-window, but instead of splitting dst-pane and
creating a new pane, split it and move src-pane into the
space. This can be used to reverse break-pane.
หากคุณพยายามที่จะเข้าร่วมบานหน้าต่างจากภายในเซสชั่นเดียวกันคุณจะต้องละเว้น "เซสชั่น:" จากคำสั่ง สิ่งนี้จะล้มเหลว ดูเหมือนว่าสวิตช์ -s และ -t เพื่อเข้าร่วมบานหน้าต่างยอมรับอาร์กิวเมนต์ในรูปแบบของ [เซสชัน]: window [.pane] แทน [เซสชัน:] หน้าต่าง [.pane]
กล่าวคือเซสชันเป็นทางเลือกและ: เป็นสิ่งจำเป็น นี่มันโง่ มันจะเท่ากับเบราว์เซอร์ที่ต้องการhttp://google.com:/เป็นรุ่นทางลัดของhttp://google.com:80/และให้ข้อผิดพลาดกับhttp://google.com/ o_O
ตั้งแต่ ctrl-b! แบ่งบานหน้าต่างปัจจุบันออกเป็นหน้าต่างแยกต่างหาก (ซึ่งตรงข้ามกับสิ่งที่เราต้องการทำ) และ ctrl-b @ (ซึ่งอยู่ด้านข้าง!) ถูกยกเลิกการตั้งค่าตามค่าเริ่มต้น (หมายความว่าคุณไม่ได้เขียนทับอะไร) ฉันแนะนำให้สร้างทางลัดนี้ ...
bind-key @ command-prompt -p "create pane from:" "join-pane -s ':%%'"