2010-10-05 14 views
105

में लाइन ब्रेक और कैरिज रिटर्न देखें क्या किसी को लिनक्स पर एक टेक्स्ट एडिटर के बारे में पता है जो मुझे लाइन ब्रेक और कैरिज रिटर्न देखने की अनुमति देता है? क्या विम इस सुविधा का समर्थन करता है?संपादक

+0

नोट: कभी-कभी नई लाइन ($) और कैरिज रिटर्न (^ एम) कई रंग योजनाओं में छिपी हुई हैं, और पट्टी को एसएसएच का उपयोग करते समय भी। –

उत्तर

91

:set list विम में व्हाइटसाइट दिखाएगा। लाइनों का अंत '$' के रूप में दिखाया गया है और कैरिज रिटर्न आमतौर पर '^M' के रूप में दिखाया जाता है।

+1

वही प्रश्न यहां: http://superuser.com/questions/97692/vim-show-line-feeds-carriage-return –

+167

गलत, 'सेट सूची' '^ एम' वर्ण (सीआरएस) नहीं दिखाएगी। Vi/vim के लिए '-b' विकल्प की आपूर्ति करना काम करेगा। या, एक बार विम लोड हो जाने पर, टाइप करें: ': e ++ ff = unix' – CaptSaltyJack

+4

@CaptSaltyJack इसे अपना उत्तर होना चाहिए ..... –

68

छठी अगली पंक्ति पर बाद के पाठ को दिखाकर न्यूलाइन (एलएफ चरित्र, कोड x0A) दिखाता है।

-b बाइनरी मोड के लिए स्विच का उपयोग करें। जैसे vi -b filename या vim -b filename --

फिर यह सीआर वर्ण (x0D) दिखाएगा, जो सामान्य रूप से यूनिक्स शैली फ़ाइलों में उपयोग नहीं किए जाते हैं, वर्ण ^M के रूप में।

146

आधिकारिक जवाब से असहमत करने के लिए:

:set list होगा नहीं शो^एम वर्ण (सीआरएस)। Vi/vim को -b विकल्प की आपूर्ति करना काम करेगा। या, एक बार विम लोड हो जाने पर, :e ++ff=unix टाइप करें।

+1

'ff = unix' सेट क्यों नहीं करता है, लेकिन': e ++ ff = unix' करता है? –

+2

यह सिंटेक्स है। ': मदद संपादित करें 'दिखाता है' ई [डीआईटी]! [++ ऑप्ट] [+ सेमीडी] '। और 'मदद ++ ई' कहता है _ [++ opt] तर्क का उपयोग' fileformat 'के मान को बल देने के लिए किया जा सकता है [..] _। – dennis

+11

बस स्पष्ट करने के लिए, 'सेट सूची' नई लाइन ('$') दिखाती है, ': e ++ ff = unix' सीआर ('^एम') दिखाती है; यदि आप दोनों को देखना चाहते हैं, 'सेट सूची' तो ': e ++ ff = unix' –

9

निम्न आदेश का प्रयास करें।

: द्विआधारी

सेट विम में, यह "बी" कमांड लाइन विकल्प का उपयोग कर के रूप में एक ही बात करना चाहिए। यदि आप इसे अपने स्टार्टअप (यानी .vimrc) फ़ाइल में डालते हैं, तो यह हमेशा आपके लिए होगा।

कई * निक्स सिस्टम पर, एक "डॉस 2unix" या "unix2dos" कमांड है जो फ़ाइल को संसाधित कर सकता है और किसी भी संदिग्ध रेखा समाप्त करने वाले मुद्दों को सही कर सकता है। यदि लाइन के अंत में कोई समस्या नहीं है, तो फाइलें बदली नहीं जाएंगी।

1

मैं आपको आदेशों की सूची चलाने के लिए अपनी .vimrc फ़ाइल को संपादित करने का सुझाव देता हूं। संपादित अपने .vimrc फ़ाइल, इस तरह:

cat >> ~/.vimrc <<EOF 
set ffs=unix 
set encoding=utf-8 
set fileencoding=utf-8 
set listchars=eol:¶ 
set list 
EOF 

आप vim को क्रियान्वित कर रहे हैं, .vimrc में आदेशों क्रियान्वित कर रहे हैं, और आप इस उदाहरण देख सकते हैं:

My line with CRLF eol here ^M¶ 
8

बस क्यों स्पष्ट करने के लिए :set list के बिना ^M के रूप में सीआर के रूप में नहीं दिखाएगा और :set list के पास ^M के साथ कुछ भी नहीं है।

आंतरिक जब विम पढ़ता अपने बफर में एक फ़ाइल, यह अपने आप ही प्रतिनिधित्व के साथ सभी लाइन न खत्म होने वाली पात्रों की जगह (यह $ की कॉल)। यह निर्धारित करने के लिए कि कौन से पात्रों को हटाया जाना चाहिए, यह पहली बार फ़ाइल में कौन से स्वरूप रेखा समाप्ति संग्रहीत किया जाता है, यह पता लगाता है। यदि केवल सीआरएलएफ '\r\n' या केवल सीआर '\r' या केवल एलएफ '\n' लाइन-एंडिंग वर्ण हैं, तो 'fileformat' क्रमशः dos, mac और unix पर सेट है।

जब list विकल्प सेट किया गया है, तो विम $ चरित्र प्रदर्शित करता है जब लाइन ब्रेक होता है चाहे fileformat विकल्प का पता चला हो। यह लाइन-ब्रेक के अपने आंतरिक प्रतिनिधित्व का उपयोग करता है और यही वह प्रदर्शित करता है।

अब जब आप डिस्क को बफर लिखने , विम लाइन न खत्म होने वाली पात्रों क्या fileformat विकल्पों का पता चला बीड़ गया है, essentialy उचित पात्रों के साथ उन सभी के आंतरिक $ की परिवर्तित करने के अनुसार डाल देता है। यदि fileformatunix होता है तो यह इसके आंतरिक लाइन-ब्रेक के स्थान पर \n लिख देगा।

यह चाल है कि dos एन्कोडेड फ़ाइल को unix एक के रूप में पढ़ने के लिए विम को मजबूर करना है। शुद्ध प्रभाव यह है कि यह सभी \n के \r को छूटे हुए हटा देगा और उन्हें आपके बफर में ^M के रूप में प्रदर्शित करेगा। :set list सेट करना अतिरिक्त लाइन-एंडिंग को $ के रूप में दिखाएगा। आखिरकार, dos एन्कोडेड लाइन-ब्रेक के स्थान पर आप ^M$ देख सकते हैं।

यह भी ध्यान दें कि :set list को ^M के साथ कोई लेना देना नहीं है। आप इसे अपने आप से देख सकते हैं (सुनिश्चित करें कि आपने list विकल्प पहले अक्षम कर दिया है) CTRL-V का उपयोग करके सिंगल सीआर डालने के बाद Enter डालने मोड में। डिस्क को बफर लिखने और इसे फिर से खोलने के बाद आप के बावजूद list विकल्प 0.

करने के लिए सेट किया जा रहा आप http://vim.wikia.com/wiki/File_format पर या विम में :help 'fileformat' लिखकर फ़ाइल स्वरूपों के बारे में अधिक जानकारी प्राप्त कर सकते हैं ^M सत्र होगा।

संबंधित मुद्दे