मैंने vimउबंटू का उपयोग करके एक फ़ाइल खोली , और निम्न स्क्रीन के नीचे प्रदर्शित किया गया है:
"file.py" [noeol] 553L, 16620C
क्या noeolसंकेत देता है?
मैंने vimउबंटू का उपयोग करके एक फ़ाइल खोली , और निम्न स्क्रीन के नीचे प्रदर्शित किया गया है:
"file.py" [noeol] 553L, 16620C
क्या noeolसंकेत देता है?
जवाबों:
यूनिक्स के संपादकों को पसंद करते हैं viऔर vimहमेशा \nहर पंक्ति के अंत में नए अंक ( ) डालेंगे - विशेष रूप से अंतिम पंक्ति सहित। यदि eolअंतिम पंक्ति में कोई अंत-पंक्ति ( ) नहीं है, तो यह एक असामान्य स्थिति है और सबसे निश्चित रूप से फ़ाइल एक मानक यूनिक्स संपादक द्वारा नहीं बनाई गई है।
यह असामान्य स्थिति संपादक द्वारा [noeol]ध्वज द्वारा आपके ध्यान में लाई जाती है vim; अन्य संपादकों के पास शायद समान झंडे और सूचनाएं हैं।
emacs, कर्सर को फ़ाइल के अंत में ले जाना (अंतिम पंक्ति, अंतिम वर्ण के बाद) और निष्पादित करें kill-line, आप वास्तव में हटाने को समाप्त करते हैं eol।
फ़ाइल की अंतिम पंक्ति में एक नई रेखा (\ n) नहीं है
\nउसे एक पूर्ण लाइन के रूप में विचार करने के लिए लाइन के अंत में (एक अनुगामी न्यूलाइन चार के साथ) की आवश्यकता होती है। निम्न उदाहरण एक फ़ाइल को दिखाता है जो एक टेक्स्ट एडिटर में कैज़ुअल नज़र में एक पूरी लाइन की तरह दिख सकती है , लेकिन इसे एक लाइन के रूप में कंडेनसर नहींwc करता है : - आउटप्यूट है: .. नॉइल आपको देखने के लिए सिर्फ एक दृश्य सहायता है। स्थिति ..printf "x">"file-no-newline"; wc -l <"file-no-newline"0
इसका मतलब यह है कि ओएस जहां आप फ़ाइल देख रहे हैं वह फ़ाइल के लाइन-एंडिंग का पता लगाने में सक्षम नहीं है (यदि फ़ाइल में कोई भी है)। कभी-कभी ऐसा होता है जब आप OSes (i, e ..) को MS से * nix os पर फ़ाइल (ओं) को स्थानांतरित करते हैं
विम में, यदि फ़ाइल में विंडो कैरिज रिटर्न है ^M", तो आप इसे निम्न कमांड से ठीक कर सकते हैं: vim do में:
:%s/^M/\r/g
अर्थ:
% => select the whole buffer
s => Search
/^M/ => find Windows Carrage return.
/\r/ => Replae it with *nix carrage return
नोट: मैक OX में, ^M is ctl+v && ctrl+m
इसका 'NO EOL' - लाइन इंडिकेटर का कोई सिरा नहीं । यदि आप एक बहुत बड़ी फ़ाइल (> 1GB) खोलते हैं तो बहुत उपयोगी है। विम 1 लाइन में वह सब खींचने की कोशिश करता है। यह संकेतक मेरे OS को खराब करने से पहले फाइल को जल्दी से बंद करने में मेरी मदद करता है।