ITerm2 में वृद्धि / कमी फ़ॉन्ट आकार


31

समस्या: मैं जाने पर लैपटॉप का उपयोग करता हूं, और जब कार्यालय में बाहरी मॉनिटर से जुड़ता हूं। यह देखते हुए कि बाहरी मॉनिटर बहुत बड़ा है, मुझे मौजूदा iTerm2विंडो (आमतौर पर एक) और सभी टैब में फोंट बढ़ाने की आवश्यकता है ।
वर्कअराउंड: मैं Cmd-+प्रत्येक टैब के लिए एक विंडो में (आमतौर पर सिर्फ एक) में 2-4 बार (दबाकर ) फोंट को स्केल करता हूं ।

प्रश्न: क्या वर्तमान खिड़की के सभी टैब के लिए फ़ॉन्ट आकार बढ़ाने / घटाने का एक आसान तरीका है ? या यदि मैं दो अलग-अलग प्रोफ़ाइल बनाने के लिए था, तो क्या मैं आसानी से एक खिड़की में सभी खुले टैब पर कुछ प्रोफ़ाइल लागू कर सकता हूं?

जवाबों:


25

इसे स्वचालित करने के लिए एक बहुत ही चमकदार और छोटी गाड़ी है, लेकिन मैं इसे वैसे भी पोस्ट करूँगा।

आप iTerm2 की प्राथमिकताओं (प्रोफ़ाइल फलक) में एक नया प्रोफ़ाइल बना सकते हैं। चलो इसे "लार्जफ़ोंट" कहते हैं। आप इसे by = दबाकर डिफ़ॉल्ट एक से क्लोन कर सकते हैं ।

फ़ॉन्ट आकार सेट करें जिसे आप नव निर्मित प्रोफ़ाइल के पाठ फलक में प्रदर्शित करना चाहते हैं।

अब यहाँ चाल है। आप AppleScript (कम से कम मुझे कोई रास्ता नहीं मिला है) का उपयोग करके या तो फ़ॉन्ट आकार या टर्मिनल सत्रों के प्रोफाइल को नहीं बदल सकते, लेकिन आप AppleScript का उपयोग करके प्रत्येक सत्र में कमांड निष्पादित कर सकते हैं, और iTerm2 में एक कस्टम एस्केप अनुक्रम है उस सत्र के लिए प्रोफ़ाइल बदलने का समर्थन करता है, जिसमें वह echoएड था।

तो, आप उस पर अमल कर सकते हैं:

echo -e "\033]50;SetProfile=LargeFont\a"

टर्मिनल के प्रोफाइल को "लार्जटेक्स्ट" में बदलने के लिए हर खुले सत्र में।

अब हम सभी खुले सत्रों के लिए निष्पादन को स्वचालित करने के लिए AppleScript का उपयोग कर सकते हैं:

tell application "iTerm"
    repeat with theTerminal in terminals
        tell theTerminal
            repeat with theSession in sessions
                tell theSession
                    write text "echo -e '\\033]50;SetProfile=LargeText\\a'"
                end tell
            end repeat
        end tell
    end repeat
end tell

कृपया ध्यान दें कि यह केवल प्रत्येक सत्र में पाठ (शाब्दिक) लिखता है, इसलिए यदि आपके पास आपके किसी टैब में कोई पाठ संपादक खोला गया है - यह इसमें काम नहीं करेगा, और आपके कोड / कॉन्फ़िगरेशन फ़ाइल में इको कमांड पेस्ट करेगा बजाय। यदि आपके पास टैब में से एक में एक पिंग कमांड चल रहा है - तो यह भी काम नहीं करेगा।
आपको यह सुनिश्चित करना चाहिए कि आपके किसी भी गोले में कोई संवादात्मक सामान न चल रहा हो।

आपके पास अपने शेल के इतिहास में ये कमांड भी बचे रहेंगे। आप इसे कमांड (जैसे echo -e ...) से पहले एक स्थान जोड़कर बायपास कर सकते हैं , यह कम से कम zsh में काम करता है।

यहाँ zsh फ़ंक्शन है:

function iterm_change_profile() {
    osascript -e "
        tell application \"iTerm\"
            repeat with theTerminal in terminals
                tell theTerminal
                    repeat with theSession in sessions
                        tell theSession
                            write text \" echo -e \\\"\\\\033]50;SetProfile=$1\\\\a\\\"\"
                        end tell
                    end repeat
                end tell
            end repeat
        end tell"
}

तो आप इसे इस तरह इस्तेमाल कर सकते हैं:

iterm_change_profile LargeFont

एक खामी भी है - जब आप प्रोफाइल को बड़े फॉन्ट से छोटे वाले में बदलते हैं, तो iTerm की विंडो काफी आकार बदलती है।

लेकिन, फिर से, यह एक बहुत ही चमकदार तरीका है।


धन्यवाद, मैं इसे एक कोशिश करूँगा। इसी तरह की एक चीज जो मैं iTerm2 में चाहूंगा, वह यह होगी कि आसपास के प्रकाश के आधार पर कलर प्रीसेट (Solarized-Dark और Solarized-Light) भी बदल जाए। मुझे लगता है कि मैं इसके लिए एक अलग प्रोफ़ाइल बनाऊंगा।
वैन

1
धन्यवाद, @Igor यह अच्छी तरह से काम किया, हालांकि जैसा कि आपने बताया कि यह सबसे साफ तरीका नहीं है। और आप विंडो को बढ़ाने और घटाने के लिए विकल्प को अनचेक कर सकते हैं जब सामान्य आकार में फ़ॉन्ट आकार बदलता है -> "फ़ॉन्ट आकार बदलते समय विंडो समायोजित करें"।
वैन

@ हवन, मैं पूरी तरह से उस विकल्प से चूक गया, धन्यवाद!
इगोर हैटरिस्ट

बस एक और बात का पता चला है: अगर मैं TmuxIntegration का उपयोग करता हूं , तो सभी टैब्स (tmux windows / panes) में फ़ॉन्ट आकार बदलने का काम करता है। रंग हालांकि अभी भी प्रति फलक है।
वैन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.