"सेट सूची" में "EOL" के बजाय CR और LF प्रदर्शित करें


12

ईओएल चरित्र के रूप में प्रदर्शित होने के लिए एक चरित्र को चुनने के बजाय, मैं एक सीआर और एलएफ दोनों के लिए अलग-अलग प्रदर्शित करना चाहूंगा और चाहे फ़ाइल यूनिक्स हो या डॉस। क्या यह संभव है?


2
इसलिए अगर मैं आपको सही ढंग से समझूं कि आप Hello%$डॉस फाइलों के लिए कुछ चाहते हैं (जहां %एक सीआर है और $एक है LF)? यह list/ listcharsसेटिंग के साथ संभव नहीं है , और मैं वास्तव में VimScript में यह करने के लिए एक तरह से साथ नहीं आ सकता ...
मार्टिन Tournoij

1
@Carpetsmoker यह सही है। इसके अलावा विशिष्ट पात्रों के रूप में दिखाने और दिखाने का set listएक तरीका हो सकता है? CRLF
कप्तान मैन

2
आप उन्हें एक निश्चित रंग को उजागर करने में सक्षम हो सकते हैं, लेकिन उन्हें विशिष्ट वर्णों के रूप में दिखाने का कोई तरीका नहीं है जो कि हैक नहीं है।
एवरग्रीनट्री

मुझे लगता है कि सीआर या एलएफ को एक बार में देखा जा सकता है, दोनों में नहीं।
सिबिकोडर

1
set stl+=\ [%{&ff=='mac'?'CR':&ff=='unix'?'LF':'CRLF'}]
एंटनी

जवाबों:


2

कुछ कैविट्स के साथ, आप विम के बाइनरी मोड का उपयोग करके ऐसा कर सकते हैं। ऐसा लगता है कि आप कमांड का उपयोग करना चाहते हैं

vim -b +'set list' somefile

वैकल्पिक रूप से, आप निम्नलिखित को अपने में डाल सकते हैं .vimrc:

:set binary
:set list

महत्वपूर्ण बात यह है कि बाइनरी मोड को प्रश्न में फाइल पढ़ने से पहले सेट किया जाना चाहिए । एक बार विम ने फ़ाइल को पढ़ा है, तो बहुत देर हो चुकी है; यह ट्रिक यह बदलने पर निर्भर करती है कि विम फाइल को कैसे पढ़ता है। विशेष रूप से, आपको जिस चीज की जरूरत है, वह विम के लिए फाइल के विशेष प्रकार का अनुमान लगाने का प्रयास नहीं करना है <EOL>

बाइनरी मोड वह करता है जो आप चाहते हैं, इस स्वचालित लाइन-सेपरेटर डिटेक्शन को अक्षम करना, लेकिन यह कुछ अन्य चीजों को भी करता है:

  • 'textwidth'0 पर सेट करता है
  • 'wrapmargin'0 पर सेट करता है
  • unsets 'modeline'
  • unsets 'expandtab'

तो आप अपने में यह नहीं करना चाहते हो सकता है .vimrc; कमांड-लाइन संस्करण का उपयोग करना बेहतर हो सकता है, और केवल उन फ़ाइलों के लिए जहां आपको इस विशेष प्रकार के प्रदर्शन की आवश्यकता होती है।

अधिक जानकारी के लिए:

  • :help 'binary'
  • :help edit-binary
  • :help file-read
  • :help file-formats
  • :help 'fileformat'

but it does quite a few other things as wellक्या यह इसलिए है क्योंकि बाइनरी FileTypeकुछ ऑटो कमांड्स के साथ है या यह किसी प्रकार से निर्मित, अपरिहार्य चीज़ है?
कप्तान मैन

उस वाक्यांश से मेरा तात्पर्य उस सूची से परिचित कराना था जो तुरंत उसका अनुसरण करती है।
टॉलेमोर्च

ठीक है, मैं तो बस पूरी बात :) मैं क्या मतलब था यह उन चीजों क्या करता है उद्धृत नहीं किया था, क्योंकि यह कुछ का उपयोग करता है FileTypeकहा जाता है binaryउन ऑटो आदेशों के साथ या यह सिर्फ कुछ बात में बनाया गया था?
कैप्टन मैन

1
ओह सही। इसमें से किसी का भी फ़ाइल प्रकारों से कोई लेना-देना नहीं है (लेकिन यह फ़ाइल स्वरूपों में काफी पकड़ा जाता है)। यह स्वयं बाइनरी मोड का हिस्सा है। देखते हैं :help 'binary'। और हो सकता है :help 'fileformat'
टॉलेमोर्च

0

यदि आप अपने को जोड़ते हैं ~/.vimrc:

set ffs=unix
set list

यही कारण है कि हमेशा दिखाई देगा CRके रूप में ^Mऔर LFके रूप में $

डिफ़ॉल्ट रूप से, विम एक फ़ाइल की व्याख्या करेगा जिसमें केवल CRLFएक डॉस फ़ाइल के रूप में एंडिंग्स हैं और CRLFजैसा कि दिखाएगा $। सेटिंग करके ffs=unix, आप विम को हमेशा एक यूनिक्स फ़ाइल के रूप में खोलने के लिए मजबूर करते हैं, और इसलिए सीआर को एक अतिरिक्त चरित्र के रूप में माना जाता है।

नोट: यदि डॉस फ़ाइलों को संशोधित और सहेजना है तो सावधान रहें। यदि आप दबाते हैं ENTER, तो यह केवल एक सम्मिलित करेगा LF। आपको मैन्युअल रूप CRसे टाइप करके सम्मिलित करना होगा CTRL+V, CTRL+M

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