बफर / विंडो फ़ोकस पर विम को स्वचालित रूप से ताज़ा कैसे करें?


11

मैं अक्सर Vim में स्क्रीन को फिर से शुरू करने के लिए Control + L का उपयोग करता हूं ।

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

  • क्या कोई ऐसा आदेश है जिसे मैं अपनी .vimrcफ़ाइल में जोड़ सकता हूं जो विंडो / बफर को फ़ोकस मिलने पर बफर को फिर से रीड करता है?

विशेष रूप से, एक अच्छे आदेश में कोई ध्यान देने योग्य नकारात्मक प्रदर्शन या अन्य संबंधित दुष्प्रभाव नहीं होने चाहिए।

जवाबों:


12

vim की एक घटना है जिसे आप इसके लिए बाध्य कर सकते हैं FocusGained, इसे redraw!कमांड के साथ जोड़ सकते हैं ( !पहले विंडो को साफ़ करने का कारण बनता है)

:au FocusGained * :redraw!

:redraw!जब मैं FocusGainedपैटर्न से मेल खाते किसी भी फ़ाइल के लिए ईवेंट प्राप्त करता हूं, तो यहां सिंटैक्स को 'स्वचालित रूप से कमांड (आटो के लिए कम है) चलाएं' के रूप में पढ़ा जा सकता है *

इसे स्थायी करने के लिए इसे अपने में जोड़ें ~/.vimrc(अग्रणी :की आवश्यकता vimrc में नहीं है)।

घटनाओं का परीक्षण करने के लिए आप अधिक 'स्पष्ट' कमांड का उपयोग कर सकते हैं

:au FocusGained * :q!

1
धन्यवाद। मैंने इसे एक मूल परीक्षण दिया, और यह बिना किसी प्रदर्शन मुद्दों के काम करने लगा।
जेरोमे एंग्लीम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.