ไฟล์กำหนดค่าของคุณใช้งานได้ แต่มีความยุ่งยากเล็กน้อย
คำสั่งอายุสั้น
ขั้นแรกคำสั่งที่คุณกำลังเริ่มต้น (อินสแตนซ์ของls ) จะเสร็จสิ้นการทำงานอย่างรวดเร็ว หน้าต่างและบานหน้าต่างสำหรับคำสั่งถูกสร้างขึ้น แต่จะหายไปทันทีที่แต่ละคำสั่งออก
หากเป้าหมายของคุณคือการใช้คำสั่ง“ หนึ่งช็อต” ดังกล่าวในการกำหนดค่าในที่สุดคุณควรใช้ตัวเลือกหน้าต่างremain-on-exit
(และอาจเป็นตัวเลือกเซสชันset-remain-on-exit
เพื่อให้ค่าเริ่มต้นสำหรับหน้าต่างทั้งหมดที่สร้างขึ้นในเซสชัน) เมื่อremain-on-exit
ตั้งค่าสำหรับหน้าต่างคำสั่งนั้นจะไม่หายไปเมื่อออกจากคำสั่ง คุณอาจต้องการแมปrespawn-window
ไปยังคีย์ (หมายเหตุ: respawn-window
จะเกิดใหม่คำสั่งเดิมrespawn-pane
พร้อมใช้งานในtmux 1.5 เพื่อ respawn แต่ละบานหน้าต่าง)
bind-key R respawn-window
# set global r-o-e so that initial window of initial session gets it
set -g set-remain-on-exit on
# create a session and its windows/panes
new -n estruct ls
neww -n estruct2 ls
splitw -v -p 50 -t 0 ls
# restore global r-o-e
set -g set-remain-on-exit off
# let session r-o-e inherit from global value for future windows
set -u set-remain-on-exit
หรือหากคุณไม่คำนึงถึงหน้าต่างเริ่มต้นของคุณเป็นหมายเลข 1 แทนที่จะเป็นหมายเลข 0 เราสามารถหลีกเลี่ยงการเปลี่ยนแปลงค่าโกลบอลได้:
bind-key R respawn-window
# create a session with a throw-away window
new true
# for future windows, stay open after the command exits
set set-remain-on-exit on
# create the windows we really want
neww -n estruct ls
neww -n estruct2 ls
splitw -v -p 50 -t 0 ls
# for future windows, revert r-o-e to global value
set -u set-remain-on-exit
หากคุณใช้เพียงls
คำสั่งตัวยึดตำแหน่งแบบง่าย ๆ และคุณตั้งใจจะวางคำสั่งแบบโต้ตอบบางประเภทใน windows / บานหน้าต่างของคุณคุณควรจะวางคำสั่งที่คุณตั้งใจจะเรียกใช้ในที่สุด ถ้าคำสั่งที่คุณตั้งใจจะใช้เวลานานเกินไปที่จะเริ่มต้นที่จะใช้มันในช่วงtmuxทดสอบแล้วแทนเปลือกหรือง่ายอื่น ๆ คำสั่งแบบโต้ตอบ (เช่นtop
, sqlite3
ฯลฯ )
new-session
เป็นคำสั่งเริ่มต้น
ประการที่สองการเรียกใช้tmuxโดยไม่มีอาร์กิวเมนต์คำสั่ง (เช่นtmux
) เทียบเท่ากับการใช้new-session
คำสั่ง (เช่นtmux
เดียวกับtmux new-session
) คุณ.tmux.conf
สร้างเซสชั่นสำหรับหน้าต่าง / บานหน้าต่าง ( new
เป็นนามแฝงสำหรับnew-session
) และอีกช่วงหนึ่งจะถูกสร้างขึ้นสำหรับนัยnew-session
คำสั่งที่ระบุโดยเริ่มต้นtmuxโดยไม่โต้แย้งคำสั่ง หากคุณใช้แถบสถานะเริ่มต้นคุณจะเห็น[1]
ทางด้านซ้ายของแถบสถานะเมื่อคุณอยู่ในเซสชัน“ พิเศษ” (เซสชันเริ่มต้นที่สร้างใน.tmux.conf
หมายเลข 0)
หากคุณต้องการที่จะหลีกเลี่ยงการสร้างเซสชั่นพิเศษแล้วใช้แทนธรรมดาtmux attach
tmux
คำสั่งจากคุณ.tmux.conf
จะทำงานสร้างเซสชัน 0 จากนั้นลูกค้าของคุณจะแนบไปกับเซสชันนั้นแทนที่จะสร้างใหม่
splitw
อยู่ในนั้น - ไม่มีอะไร - และฉันยังไม่ได้รับหน้าจอแยกเพราะมันบอกว่ามัน ไม่สามารถสร้างเซสชันปัจจุบัน ถ้าฉันเพิ่มnew
ก่อนหน้าฉันจะได้รับ ... หนึ่งหน้าต่างหนึ่งบานหน้าต่าง ฉันไม่สามารถดูได้เพราะชีวิตของฉันจะได้รับสองบานเมื่อเริ่มต้น