जैसे @flukus ने आपके पिछले उत्तर के लिए एक टिप्पणी में कहा था call feedkeys["lh"](यह कर्सर को दाईं ओर और बाईं ओर पीछे ले जाता है, जो सामान्य रूप से लॉग फ़ाइल देखने पर नुकसान नहीं करता है)
इसलिए, यदि आप शेष उत्तर को जोड़ते हैं, तो आपके पास एक oneliner है जिसे आप आवश्यकता होने पर पूर्व (whithin vim) से चला सकते हैं:
:set autoread | au CursorHold * checktime | call feedkeys("lh")
(यदि आप फ़ाइल के अंत में कूदना चाहते हैं (लगभग), तो बस "एलएच" के बजाय "एल" का उपयोग करें।
स्पष्टीकरण:
- ऑटोरैड : फ़ाइल को तब पढ़ा जाता है जब उसे बाहर से बदला जाता है (लेकिन यह अपने आप काम नहीं करता है, कोई आंतरिक टाइमर या ऐसा कुछ नहीं है। यह केवल फ़ाइल को पढ़ेगा जब विम एक्शन करता है, जैसे पूर्व में एक कमांड :!
- CursorHold * checktime : जब कर्सर को 'updatetime' में निर्दिष्ट समय के लिए उपयोगकर्ता द्वारा स्थानांतरित नहीं किया जाता है (जो कि डिफ़ॉल्ट रूप से 4000 मील के सेकंड है) चेकटाइम निष्पादित किया जाता है, जो फ़ाइल के बाहर से परिवर्तन की जांच करता है
- कॉल फीडकी ("lh") : कर्सर को एक बार दाएं और बाएं घुमाया जाता है और फिर कुछ नहीं होता है (... जिसका अर्थ है, कि CursorHold ट्रिगर है, जिसका अर्थ है कि हमारे पास एक लूप है )
इसके अतिरिक्त आप :set syntax=logtalkलॉग को रंग कर सकते हैं
उपयोग करते समय स्क्रॉल को रोकने के लिए call feedkeys("G"), निष्पादित करें :set noautoread- अब vim बताएगा, कि फ़ाइल में परिवर्तन था ans पूछें कि क्या कोई बदलाव पढ़ना चाहता है या नहीं)
(क्या इसका कोई साइडइफेक्ट है?)
संपादित करें: मुझे एक साइड-इफ़ेक्ट दिखाई देता है: अगर कोई फीडर से "G" का उपयोग करता है, तो यह हर वर्तमान में खोले गए बफर को नीचे स्क्रॉल करेगा ?! इसलिए, सही बफ़र को स्वचालित रूप से लॉगफ़ाइल नीचे स्क्रॉल करते समय एक स्प्लिट विंडो के बाएं बफर में काम करना संभव नहीं है