कैसे tmux में स्क्रॉलबैक बफर आकार में वृद्धि करने के लिए?


328

मैं स्क्रोलबैक बफर आकार को कैसे बढ़ाऊं tmux?

यदि मैं कॉपी मोड में प्रवेश करता हूं, तो उपलब्ध स्क्रॉलबैक लाइनों की संख्या (ऊपरी दाएं कोने में दिखाई देती है) हमेशा 2000 से नीचे होती है। मैंने सभी tmux कमांड की एक सूची खोजने की कोशिश की, लेकिन मुझे स्क्रॉलबैक आकार के बारे में कुछ नहीं मिला। सभी के लिए मैं उस विकल्प को सेट करने के लिए screenकमांड देखता हूं जिसके साथ काम नहीं करता है tmux

का उपयोग करते हुए tmux1.8, Ubuntu 12.04 LTS, या तो konsoleया gnome-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
यदि "लाइन" वास्तव में इसके भीतर का अक्षर है, तो हम मान सकते हैं कि 128 बाइट्स मेमोरी में एक उचित लाइन आकार है। यदि मैं एक फलक (जो मुझे सूट करता है, मैं कई पैन का उपयोग नहीं करता) के लिए वापस स्क्रॉल करने के लिए 32 एमबी प्रतिबद्ध करने के लिए तैयार हूं, तो मैं अपनी इतिहास सीमा को मोटे तौर पर 2 ** (25 - 7) = 256Kया 250 हजार लाइनों तक बढ़ा सकता हूं ।
phs

8
मैं पर बसने से समाप्त हो गयाset-option -g history-limit 50000
PHS

2
मेरा लगता है कि लगभग 4700 तक ही जा सकते हैं .. भले ही एक नया फलक हो। tmux 1.9
वूक्समिया

4
आप में से जिन्हें पता नहीं है कि .tmux.conf फ़ाइल कहाँ मिलती है, आप बस ~ / .tmux.conf पर एक नई फ़ाइल बना सकते हैं, फिर इस एकल लाइन को फ़ाइल सेट-ऑप्शन -g इतिहास-सीमा 50000 में जोड़ें।
C.Lee

1
थोड़ा हिकूप मैं भागा। इस परिवर्तन को प्रभावी करने के लिए सभी tmux सत्रों को बंद किया जाना चाहिए। GNU स्क्रीन से आने से मैंने माना कि प्रत्येक नया स्क्रीन सत्र ~ / .tmux.conf का स्रोत होगा लेकिन ऐसा नहीं है। केवल जब सभी tmux सत्र बंद हो जाते हैं और नया खोला जाता है तो ~ / .tmux.conf में परिवर्तन का प्रभाव पड़ता है।
रुडोल्फ

24

निम्न कमांड के साथ tmux कॉन्फ़िगरेशन फ़ाइल खोलें:

vim ~/.tmux.conf

कॉन्फ़िगरेशन फ़ाइल में निम्न पंक्ति जोड़ें:

set -g history-limit 5000

लॉग आउट करें और फिर से लॉग इन करें, एक नई tmux विंडोज़ शुरू करें और अब आपकी सीमा 5000 है।


3
यह लॉग आउट और इन करने के लिए आवश्यक नहीं है। आपको बस या तो पूरी तरह से tmux सर्वर को छोड़ने की आवश्यकता है, या सुनिश्चित करें कि आप ~/.tmux.confप्रत्येक सत्र में स्रोत बनाते हैं (और फिर उन सत्रों में नई विंडो लॉन्च करें और किसी भी पुरानी विंडो को बंद करें)।
हेनरेबोथा

3

यह ntc2 और क्रिस जॉन्सन के उत्तर पर बनाता है। जब भी मैं एक नया सत्र बनाना चाहता हूं, एक कस्टम इतिहास-सीमा के साथ इसका उपयोग कर रहा हूं। मैं भविष्य के सत्रों के लिए अपनी इतिहास-सीमा को स्थायी रूप से बदलने के बिना सीमित स्क्रॉलबैक के साथ सत्र बनाने का एक तरीका चाहता था।

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

यह काम करता है कि मौजूदा सत्र हैं या नहीं। नए सत्र के लिए इतिहास-सीमा निर्धारित करने के बाद, यह डिफ़ॉल्ट रूप से वापस सेट हो जाता है जो मेरे लिए 2000 है।

मैंने एक निष्पादन योग्य बैश स्क्रिप्ट बनाई जो इसे थोड़ा और उपयोगी बनाती है। स्क्रिप्ट को दिया गया 1 पैरामीटर नए सत्र के लिए इतिहास-सीमा निर्धारित करता है और दूसरा पैरामीटर इसका सत्र नाम सेट करता है:

#!/bin/bash
tmux set-option -g history-limit "${1}" \; new-session -s "${2}" \; set-option -g history-limit 2000
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.