इस सवाल में गिल्स ने जवाब दिया
फिर भी एक और संभावना Emacs शेल बफर
tail -f
में चलने और Emacs के सिंटैक्स रंग क्षमताओं का उपयोग करने की है।
क्योंकि मैं एक विम उपयोगकर्ता हूं, मैं यह विम के साथ करना चाहता हूं , न कि एमएसीएस ।
है vim इस सुविधा है?
इस सवाल में गिल्स ने जवाब दिया
फिर भी एक और संभावना Emacs शेल बफर
tail -f
में चलने और Emacs के सिंटैक्स रंग क्षमताओं का उपयोग करने की है।
क्योंकि मैं एक विम उपयोगकर्ता हूं, मैं यह विम के साथ करना चाहता हूं , न कि एमएसीएस ।
है vim इस सुविधा है?
जवाबों:
आप Python या किसी अन्य लिपि में वास्तविक समय में बफर (s) को बदलने के लिए एक मल्टीथ्रेड प्लगइन लिख सकते हैं जो Vim सपोर्ट करता है और थ्रेड होता है।
लेकिन यह केवल टर्मिनल में काम करता है जहाँ तक मुझे पता है। कम से कम X11 में, GUI संस्करण क्रैश हो जाएगा यदि GUI को किसी अन्य थ्रेड द्वारा संशोधित किया गया है।
यदि आप अन्य प्रोग्राम स्वीकार करते हैं, तो grc और ccze स्ट्रीम को कलर करने में सक्षम होते हैं।
मुझे यह छोटा और बिना हैकिंग या बाहरी स्क्रिप्ट पसंद है। जब जरूरत हो (या लॉग-फाइल खोलने पर प्रत्येक कमांड को vimrc में डाल सकते हैं, तो आप इस ऑनलाइनर को पूर्व (whithin vim) से चला सकते हैं।)
:set autoread | au CursorHold * checktime | call feedkeys("lh")
और इसके अलावा आप :set syntax=logtalk
लॉग को रंग कर सकते हैं
(यदि आप फ़ाइल के अंत में कूदना चाहते हैं (लगभग), तो बस "एलएच" के बजाय "एल" का उपयोग करें (गदहे के साथ) करें
स्पष्टीकरण:
autoread
: बाहर से परिवर्तित होने पर फ़ाइल पढ़ता है (लेकिन यह अपने आप काम नहीं करता है, कोई आंतरिक टाइमर या ऐसा कुछ नहीं है। यह केवल फ़ाइल को पढ़ेगा जब विम एक कार्रवाई करता है, जैसे पूर्व में एक कमांड। :!
CursorHold * checktime
: जब उपयोगकर्ता द्वारा निर्दिष्ट समय के लिए कर्सर को स्थानांतरित नहीं किया जाता है updatetime
(जो कि डिफ़ॉल्ट रूप से 4000 मील प्रति सेकंड है) checktime
निष्पादित किया जाता है, जो फ़ाइल के बाहर से परिवर्तन के लिए जांच करता है।call feedkeys("lh")
: कर्सर को एक बार दाएं और बाएं बाएं घुमाया जाता है। और तब कुछ भी नहीं होता है (... जिसका अर्थ है, जो CursorHold
ट्रिगर है, जिसका अर्थ है कि हमारे पास एक लूप है )उपयोग करते समय स्क्रॉल को रोकने के लिए call feedkeys("G")
, निष्पादित करें :set noautoread
- अब vim बताएगा, कि फ़ाइल में परिवर्तन था ans पूछें कि क्या कोई बदलाव पढ़ना चाहता है या नहीं)
जब आप स्क्रीन / tmux के बिना ssh सत्र में काम कर रहे हों, तो मुझे vim (पूंछ के बजाय) में logfiles देखना पसंद है। इसके अतिरिक्त, आप लॉगफ़ाइल से सीधे कॉपी कर सकते हैं, यदि आवश्यक हो, या सीधे आउटपुट को बचा सकते हैं या ... जो भी आप कर सकते हैं vim :)
* इस से जवाब (द्वारा एक जवाब की बात कर PhanHaiQuang और द्वारा एक टिप्पणी flukus )