ย้ายบานหน้าต่าง tmux ไปยังเซสชันอื่น


43

การทำเช่นนี้เป็นไปได้หรือไม่ที่จะย้ายคำสั่งที่กำลังรันในบานหน้าต่างไปยังเซสชั่น tmux อื่น?

คำตอบ:


68

ใช่มันค่อนข้างง่ายใช้ move-paneคำสั่ง tmux สำหรับการเรียกใช้ข้อมูลเพิ่มเติม

man tmux | less -I '+/mOVE-pane'

ส่วนที่ยุ่งยากคือการรู้ว่า tmux อ้างอิงเซสชันหน้าต่างและบานหน้าต่างในคำสั่งเพื่อจัดการบานหน้าต่าง ฯลฯ ได้อย่างไร

ขั้นตอนแรก

ย้ายไปที่บานหน้าต่างที่คุณต้องการย้ายไปยังเซสชันอื่น

ขั้นตอนที่สอง

รับชื่อเซสชันเป้าหมายโดยเรียกใช้ <prefix>sได้รับชื่อของเซสชั่นเป้าหมายโดยใช้

ในระบบของฉันที่ผลิต:

 (0) + 0: 8 windows (attached)  
 (1) + 1: 1 windows 
       ^
       |
    This is the session name. It could be different 
    on your system and it could be a word (not just a number).

ขั้นตอนที่ 3 - เรียกใช้คำสั่ง

<prefix>:move-pane -t <session_name>:<window number>
                      ^^^^^^^^^^^^^^ the name from above goes in here

ดังนั้นในระบบของฉันฉันย้ายเข้าสู่บานหน้าต่างพร้อมกับกระบวนการทำงานรัน

<prefix>:move-pane -t 1:1

1และบานหน้าต่างที่มีขั้นตอนในนั้นย้ายไปที่หน้าต่างหนึ่งในเซสชั่น

มันได้รับการแทรกเป็นการแยกดังนั้นโดยปกติคุณจะต้องการเรียกใช้หน้าต่างในเซสชั่นอื่น ๆ เป็นหน้าต่างการทิ้ง

หมายเหตุ: ดูเหมือนว่าหน้าต่างเป้าหมายไม่จำเป็นต้องมีอยู่มิฉะนั้นmove-paneคำสั่งจะออกข้อผิดพลาด

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบของการประชุมระบุหน้าต่างและบานหน้าต่างภายในคำสั่ง tmux ให้ดูด้านในCOMMANDSman tmux


12
มีขั้นตอนที่ง่ายคือ: ทำเครื่องหมายบานหน้าต่างที่มี<prefix>mให้ไปที่หน้าต่างปลายทางด้วยและย้ายบานหน้าต่างที่ทำเครื่องหมายไว้ที่นั่นด้วย<prefix>w join-pane
Dan Aloni

7

ฉันไม่สามารถแสดงความคิดเห็นดังนั้นฉันจะวางไว้ที่นี่: สำหรับ tmux 2.1-3build1 ~ แม่นยำคำสั่งควรเป็น:

<prefix>:move-pane -t session_name:window_number

- คุณต้องมี " -t" หน้าชื่อเซสชัน (ไม่จำเป็นต้องเป็นตัวเลข) และต้องมีหน้าต่างที่มีตัวเลขที่ระบุ

ทั้งหมดส่วนที่เหลือจะตามที่อธิบายthe_velour_fogในคำตอบของเขา

ป.ล. ถ้าคุณพิมพ์เพียงsession_nameไม่window_numberชอบ:

<prefix>:move-pane -t session_name:,

จากนั้นบานหน้าต่างของคุณจะถูกย้ายไปที่หน้าต่างปัจจุบันของเซสชันปลายทาง (และหน้าต่างนี้จะถูกแบ่ง)

PPS ถ้าคุณต้องการย้ายหน้าต่างของคุณ (ไม่ใช่เฉพาะบานหน้าต่าง), มีคำตอบที่ดีเกี่ยวกับวิธีย้ายหน้าต่างระหว่างไคลเอนต์ tmux :

<prefix>:move-window [-d] [-s src-window] [-t dst-window]

(alias: movew)

ที่src-windowและมีรูปแบบdst-windowsession:window.pane


-1

ฉันมีการใช้งานสองครั้งแต่ละครั้งใน iTerm ของพวกเขาเอง สิ่งที่ฉันต้องทำเพื่อย้ายบานหน้าต่างจากเซสชันหนึ่งไปยังอีกเซสชันหนึ่งคือ

เลือกบานหน้าต่าง

<leader>s <session>

โดยที่<session>ตัวเลขภายในวงเล็บเหลี่ยม

tmux 2.7


ที่ไม่ได้ย้ายบานหน้าต่างจากเซสชันหนึ่งไปยังอีก เพียงแค่เปลี่ยนเซสชั่นที่คุณกำลังดูจากเทอร์มินัลปัจจุบัน เทียบเท่ากับการตัดการเชื่อมต่อและการเชื่อมต่อกับเซสชันอื่น ฉันต้องการย้ายบานหน้าต่างระหว่างเซสชันที่เปิดบานหน้าต่างอื่นหลายบาน
HEGX64
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.