การสร้างการกำหนดค่า tmux ที่เรียกใช้งานได้


24

ฉันพบว่าตัวเองมักทำสิ่งเดียวกันกับtmux:

  1. cd ไปยังไดเรกทอรีที่กำหนด
  2. tmux
  3. เปลี่ยนชื่อหน้าต่างเป็นสิ่งที่ฉันกำลังทำ
  4. แยกหน้าต่างในแนวตั้ง 50%
  5. เริ่มต้นหนึ่งกระบวนการในหน้าต่างด้านซ้าย
  6. เริ่มกระบวนการอื่นในหน้าต่างด้านขวา
  7. กำไร.

มีวิธีที่ฉันจะเปิดตัวอัตโนมัติทั้งหมดนี้เพื่อให้ฉันสามารถเรียกใช้คำสั่งเดียวและได้รับหน้าต่างที่ฉันกำลังมองหา?


แล้วนามแฝงของเชลล์ล่ะ
Marco

คำตอบ:


22

Archwiki บันทึกวัน! การกำหนดค่าเริ่มต้นเซสชันในหน้า tmux แสดงตัวอย่าง

ที่กล่าวว่าแทนที่จะเริ่มต้น tmux เป็นtmux, tmux new -s nameจะตั้งชื่อเซสชั่นเมื่อเริ่มต้นแทนที่จะให้มันเป็นจำนวนมาก

การเริ่มต้นเซสชัน


คุณสามารถให้ tmux เปิดเซสชันด้วยหน้าต่างที่โหลดไว้ล่วงหน้าโดยรวมรายละเอียดเหล่านั้นไว้ใน ~ / .tmux.conf ของคุณ:

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

หากต้องการเริ่มเซสชันด้วยหน้าต่างแยก (หลายบานหน้าต่าง) ให้รวมคำสั่ง splitw ใต้ neww ที่คุณต้องการแยก ดังนั้น:

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

จะเปิดหน้าต่าง 2 บานหน้าต่างที่สองจะตั้งชื่อว่า foo / bar และแยกครึ่งในแนวตั้ง (50%) โดย foo วิ่งอยู่เหนือแถบ โฟกัสจะอยู่ในหน้าต่าง 2 (foo / bar), บานหน้าต่างด้านบน (foo)

หมายเหตุ: การกำหนดหมายเลขสำหรับเซสชันหน้าต่างและบานหน้าต่างเริ่มต้นที่ศูนย์เว้นแต่ว่าคุณได้ระบุดัชนีฐานเป็น 1 ใน .conf ของคุณ

หากต้องการจัดการหลายเซสชันให้แยกไฟล์เซสชั่นออกจากไฟล์ conf ของคุณ:

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

6

คำตอบของ Rob นั้นยอดเยี่ยมและอธิบายวิธีจัดการเซสชันจากภายใน tmux อย่างแน่นอน ตอนนี้ถ้าคุณไม่รังเกียจการใช้เครื่องมือของบุคคลที่สามtmuxinatorเป็นโครงการที่ดีที่จะช่วยสร้างและจัดการประชุมได้อย่างง่ายดาย

แต่ละเซสชั่นจะถูกควบคุมโดยไฟล์ปรับแต่งที่ช่วยให้คุณสามารถกำหนดหน้าต่างและบานหน้าต่างทั้งหมดพร้อมกับเลย์เอาต์และคำสั่งเริ่มต้นเพื่อให้ทำงานภายใน นอกจากนี้ยังช่วยให้คุณสามารถกำหนดไดเรกทอรีโครงการเริ่มต้นซ็อกเก็ตเฉพาะและ daemons ที่จำเป็นต้องใช้ในการทำงาน (เช่น mysql) นอกจากนี้ยังมีวิธีง่าย ๆ ในการแนบไฟล์เช่นกัน: เพียงแค่เรียกใช้mux [session-name]และจะเริ่มเซสชันหรือแนบถ้ามันทำงานอยู่แล้ว ฉันใช้ไปซักพักแล้วก็รัก (ขอบคุณaziz !)

https://github.com/aziz/tmuxinator

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