2012-10-26 12 views
7

मैं जीएनयू/लिनक्स मशीन पर जीवीआईएम 7.3 चला रहा हूं। मैं सोच रहा हूं कि खिड़की के आकार के आधार पर फ़ॉन्ट को स्वचालित रूप से बदलने का कोई तरीका है या नहीं। मैं विम के लिए अपेक्षाकृत नया हूं, इसलिए मैं इसके साथ परिचित नहीं हूं।जीवीआईएम गतिशील रूप से विंडो आकार के आधार पर फ़ॉन्ट बदलें

मेरी स्थिति यह है: मैं अपने डिफ़ॉल्ट फ़ॉन्ट के लिए देजावु सांस मोनो 12 का उपयोग कर रहा हूं, लेकिन कभी-कभी मैं टर्मिनस 9 पर स्विच करना चाहता हूं, जब मैं अपनी स्क्रीन पर कुछ देखने के लिए विम विंडो को छोटा करना चाहता हूं। प्रकार। (आप जानते हैं, छोटे लैपटॉप स्क्रीन के साथ हम उन लोगों के लिए जो वर्कस्पेस के बीच स्विचिंग नहीं रखना चाहते हैं ...!)

तो मुझे आश्चर्य है कि यह व्यवहार स्वचालित रूप से .vimrc फ़ाइल में कमांड के साथ हो सकता है या नहीं अगर मैं डिफ़ॉल्ट विंडो आकार को कम से कम छोटा कर देता हूं ताकि विम स्वचालित रूप से फ़ॉन्ट को समायोजित कर सके।

कोई विचार?

उत्तर

6

विम VimResized ईवेंट को चलाता है जब इसकी विंडो का आकार बदल जाता है। आप एक autocmd लिख सकते हैं जो फ़ॉन्ट को अनुकूलित करता है ('guifont')। यहाँ एक ('lines' नहीं) उदाहरण है कि केवल समझता है 'columns' है, और एक हार्ड-कोडेड फ़ॉन्ट का नाम दिया गया है:

function! FontChangeOnResize() 
    if &columns > 80 
     set guifont=Lucida_Console:h14 
    elseif &columns > 60 
     set guifont=Lucida_Console:h12 
    elseif &columns > 40 
     set guifont=Lucida_Console:h10 
    elseif &columns > 20 
     set guifont=Lucida_Console:h8 
    else 
     set guifont=Lucida_Console:h6 
    endif 
endfunction 
autocmd VimResized * call FontChangeOnResize() 
+0

बिल्कुल सही। यही वही है जो मैं ढूंढ रहा था! धन्यवाद! – qmoog

संबंधित मुद्दे