วิธีเพิ่มขนาดบัฟเฟอร์ของ scrollback ใน tmux


328

ฉันจะเพิ่มขนาดบัฟเฟอร์ของ scrollback ได้tmuxอย่างไร

หากฉันเข้าสู่โหมดการคัดลอกจำนวนบรรทัดการเลื่อนกลับที่มีอยู่ (มองเห็นที่มุมขวาบน) อยู่ต่ำกว่า 2000 ฉันพยายามค้นหารายการคำสั่ง tmux ทั้งหมด แต่ฉันไม่พบสิ่งใดเกี่ยวกับขนาดการเลื่อนกลับ สำหรับทั้งหมดที่ฉันเห็นscreenคำสั่งtmuxสำหรับการตั้งค่าตัวเลือกที่ไม่ได้ทำงานกับ

ใช้tmux1.8, Ubuntu 12.04 LTS ทั้งหรือkonsolegnome-terminal

คำตอบ:


428

ขีด จำกัด ประวัติศาสตร์เป็นคุณลักษณะที่บานหน้าต่างที่คงที่เวลาของการสร้างบานหน้าต่างและไม่สามารถเปลี่ยนแปลงได้สำหรับบานหน้าต่างที่มีอยู่ ค่าถูกนำมาจากhistory-limitตัวเลือกเซสชัน (ค่าเริ่มต้นคือ 2000)

ในการสร้างบานหน้าต่างที่มีค่าต่างกันคุณจะต้องตั้งค่าhistory-limitตัวเลือกที่เหมาะสมก่อนที่จะสร้างบานหน้าต่าง

เพื่อสร้างค่าเริ่มต้นที่แตกต่างกันคุณสามารถใส่บรรทัดดังต่อไปนี้ใน.tmux.confไฟล์ของคุณ:

set-option -g history-limit 3000

หมายเหตุ: ระมัดระวังการตั้งค่าเริ่มต้นที่มีขนาดใหญ่มากมันสามารถกินแรมได้อย่างง่ายดายหากคุณสร้างบานหน้าต่างจำนวนมาก

สำหรับบานหน้าต่างใหม่ (หรือบานหน้าต่างเริ่มต้นในหน้าต่างใหม่) ในเซสชันที่มีอยู่คุณสามารถตั้งค่าเซสชันhistory-limitนั้น คุณอาจใช้คำสั่งเช่นนี้ (จากเชลล์):

tmux set-option history-limit 5000 \; new-window

สำหรับ (บานหน้าต่างเริ่มต้นของหน้าต่างเริ่มต้นใน) เซสชันใหม่คุณจะต้องตั้งค่า "ทั่วโลก" history-limitก่อนที่จะสร้างเซสชัน:

tmux set-option -g history-limit 5000 \; new-session

หมายเหตุ: หากคุณไม่ได้ตั้งhistory-limitค่าใหม่ค่าใหม่จะถูกใช้สำหรับบานหน้าต่าง / หน้าต่าง / เซสชันอื่นที่สร้างขึ้นในอนาคต ขณะนี้ไม่มีวิธีโดยตรงในการสร้างบานหน้าต่าง / หน้าต่าง / เซสชันใหม่ด้วยขีด จำกัด เฉพาะของตนเองโดยไม่มีการเปลี่ยนแปลงhistory-limit( อย่างน้อยก็ชั่วคราว) (แต่show-option(โดยเฉพาะใน 1.7 และใหม่กว่า) สามารถช่วยในการดึงค่าปัจจุบันเพื่อให้คุณเรียกคืนได้ในภายหลัง )


26
หาก "line" เป็นเพียงตัวอักษรที่อยู่ในนั้นเราสามารถถือว่า 128 ไบต์เป็นขนาดบรรทัดที่เหมาะสมในหน่วยความจำ ถ้าฉันยินดีที่จะยอมรับ 32 MB เพื่อเลื่อนกลับสำหรับบานหน้าต่างเดียว (ที่เหมาะกับฉันฉันไม่ได้ใช้บานหน้าต่างจำนวนมาก) จากนั้นฉันสามารถเพิ่มขีด จำกัด ประวัติของฉันเป็นเกะกะ2 ** (25 - 7) = 256Kหรือ 250,000 บรรทัด
phs

8
ฉันสิ้นสุดปักหลักบนset-option -g history-limit 50000
PHS

2
ฉันดูเหมือนจะขึ้นไปประมาณ 4700 .. แม้ว่าบานหน้าต่างใหม่ tmux 1.9
wuxmedia

4
สำหรับบรรดาของคุณที่ไม่ทราบว่าจะหาไฟล์. tmux.conf คุณสามารถสร้างไฟล์ใหม่ที่ ~ / .tmux.conf จากนั้นเพิ่มบรรทัดเดียวนี้ลงในไฟล์ set-option -g history-limit 50000
C.Lee

1
hickup เล็กน้อยที่ฉันวิ่งเข้าไป ต้องปิดเซสชัน tmux ทั้งหมดเพื่อให้การเปลี่ยนแปลงมีผล มาจากหน้าจอ GNU ฉันคิดว่าแต่ละเซสชันหน้าจอใหม่จะแหล่ง ~ / .tmux.conf แต่นั่นไม่ใช่กรณี เฉพาะเมื่อเซสชัน tmux ทั้งหมดถูกปิดและเปิดใหม่การเปลี่ยนแปลงใน ~ / .tmux.conf จะมีผล
rudolph9

24

เปิดไฟล์คอนฟิกูเรชัน tmux ด้วยคำสั่งต่อไปนี้:

vim ~/.tmux.conf

ในไฟล์กำหนดค่าเพิ่มบรรทัดต่อไปนี้:

set -g history-limit 5000

ออกจากระบบและเข้าสู่ระบบอีกครั้งเริ่มต้น tmux windows ใหม่และขีด จำกัด ของคุณคือ 5000 ทันที


3
ไม่จำเป็นต้องออกจากระบบและเข้าสู่ระบบคุณเพียงแค่ต้องออกจากเซิร์ฟเวอร์ tmux ทั้งหมดหรือตรวจสอบให้แน่ใจว่าคุณได้แหล่งข้อมูล~/.tmux.confในแต่ละเซสชัน (แล้วเปิดหน้าต่างใหม่ในเซสชันเหล่านั้นและปิดหน้าต่างเก่า ๆ )
henrebotha

3

สิ่งนี้สร้างขึ้นจากคำตอบของ ntc2 และ Chris Johnsen ฉันกำลังใช้สิ่งนี้เมื่อใดก็ตามที่ฉันต้องการสร้างเซสชันใหม่ด้วยการ จำกัด ประวัติที่กำหนดเอง ฉันต้องการวิธีสร้างเซสชันที่มี scrollback แบบ จำกัด โดยไม่เปลี่ยนการ จำกัด ประวัติสำหรับเซสชันในอนาคตอย่างถาวร

tmux set-option -g history-limit 100 \; new-session -s mysessionname \; set-option -g history-limit 2000

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

ฉันสร้างสคริปต์ทุบตีปฏิบัติการซึ่งทำให้มีประโยชน์มากกว่านี้เล็กน้อย พารามิเตอร์ที่ 1 ที่ส่งผ่านไปยังสคริปต์ตั้งค่าขีด จำกัด ประวัติสำหรับเซสชันใหม่และพารามิเตอร์ตัวที่ 2 ตั้งชื่อเซสชัน:

#!/bin/bash
tmux set-option -g history-limit "${1}" \; new-session -s "${2}" \; set-option -g history-limit 2000
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.