फिक्सिंग उदात्त पाठ 2 पंक्ति अंत?


177

यहाँ मेरा Settings - Userविन्यास है:

{
    "auto_indent": true,
    "color_scheme": "Packages/Color Scheme - Default/Twilight.tmTheme",
    "default_line_ending": "LF",
    "detect_indentation": true,
    "font_size": 10.0,
    "ignored_packages":
    [
        "Vintage"
    ],
    "indent_to_bracket": false,
    "smart_indent": true,
    "tab_size": 4,
    "translate_tabs_to_spaces": true,
    "trim_automatic_white_space": true,
    "use_tab_stops": true
}

default_line_endingविकल्प के लिए टिप्पणी कहते हैं: Default_line_ending विकल्प पर टिप्पणी करें

जब मैं एक नई फाइल बनाता हूं, तो मैं यहां समाप्त होने वाली लाइन की जांच करता हूं:

चेक लाइन समाप्त

जैसा कि आप देख सकते हैं यह अभी भी विंडोज है ... कोई विचार?


क्या आपने "यूनिक्स" पर क्लिक करने, बंद करने और फिर से खोलने की कोशिश की है?
प्रीत कुकरेती

@PreetKukreti हां। फिर से खोलने के बाद यह फिर से "विंडोज" है। यह केवल वर्तमान फ़ाइल के लिए काम करता है, नई फ़ाइल के लिए नहीं।
mintobit

1
@ a1zhegorodov क्या आपने फ़ाइल को पहले सहेजा था? कि मेरे लिए काम किया ...
charlysisto

1
हाँ। फ़ाइल को सहेजने के बाद इसने मेरे लिए भी काम किया।
पियरे गिल्बर्ट

जवाबों:


199

टिप्पणी में कहा गया है

// Determines what character(s) are used to terminate each line in new files.
// Valid values are 'system' (whatever the OS uses), 'windows' (CRLF) and
// 'unix' (LF only).

आप सेट कर रहे हैं

"default_line_ending": "LF",

आपको सेट करना चाहिए

"default_line_ending": "unix",


1
मैं एक ही समस्या है, लेकिन मैं सही ढंग से स्थापित कर रहा हूँ "default_line_ending": "unix", मैं नहीं जानता कि नरक क्यों काम नहीं करता है! यह मुझे पागल कर रहा है! मैंने थोड़ा शोध किया है और जाहिर तौर पर इसका कोई उपयोगी समाधान नहीं है।
acrespo

@acrespo क्या आपको यकीन है कि यह किसी अन्य वरीयताओं की फ़ाइल द्वारा ओवरराइड नहीं किया जा रहा है? उदात्त उनमें से बहुत से हैं :) - यदि आपने अपने सिंटैक्स विशिष्ट प्रीफ़ में समाप्त होने वाली एक तरह की लाइन निर्दिष्ट की है, तो यह उपयोगकर्ता के प्रीफ़ॉफ़ को ओवरराइड करेगा, जो वैश्विक Prefs को ओवरराइड करता है
Leigh

10
"default_line_ending": "unix" सेट करना, नई फ़ाइलों पर ठीक काम करता है .. लेकिन मौजूदा (पुरानी) फ़ाइलों पर नहीं। क्या किसी को पता है कि उस व्यवहार को कैसे बदलना है?
सूदखोर

11
यह केवल मैन्युअल रूप से किया जा सकता है, यह स्वचालित होने पर वास्तव में सहायक होगा। आप इसे ऊपर दिए गए चित्र में देख सकते हैं जैसा कि देखें-> लाइन एंडिंग्स-> यूनिक्स @soothsayer
A Star

5
@soothsayer, मौजूदा फ़ाइलों के लिए, सभी पाठ का चयन करें, फिर view-> line endings-> unix। फिर दस्तावेज़ को सहेजें।
एजीएस

9

EditorConfig परियोजना ( Github लिंक ) एक और बहुत व्यवहार्य समाधान है। Sftp-config.json और .sublime-project / कार्यक्षेत्र फ़ाइल के समान, एक बार जब आप एक .editorconfig फ़ाइल सेट करते हैं, या तो प्रोजेक्ट फ़ोल्डर में या एक पैरेंट फ़ोल्डर में, हर बार जब आप किसी फ़ाइल को उस संरचना के भीतर सहेजते हैं, तो वह प्लगइन होगा। स्वचालित रूप से डॉट फ़ाइल में सेटिंग्स लागू करें और आपके लिए कुछ अलग चीजें स्वचालित करें। जिनमें से कुछ यूनिक्स-स्टाइल लाइन एंडिंग को सेव कर रहे हैं, एंड-ऑफ-फाइल न्यूलाइन जोड़ रहे हैं, व्हॉट्सएप हटा रहे हैं, और अपने इंडेंट टैब / स्पेस सेटिंग्स को एडजस्ट कर रहे हैं।


त्वरित उदाहरण

पैकेज नियंत्रण का उपयोग करके सबलाइम में EditorConfig प्लगइन स्थापित करें; फिर .editorconfigएक माता-पिता निर्देशिका में एक फ़ाइल रखें  (यहां तक ​​कि आपके घर या रूट को यदि आप चाहें), तो निम्न सामग्री के साथ:

[*]
end_of_line = lf

बस। जब भी आप उस डायरेक्टरी स्ट्रक्चर में कोई फ़ाइल सेव करते हैं तो यह सेटिंग स्वचालित रूप से यूनिक्स-स्टाइल लाइन एंडिंग लागू होगी। आप अधिक शांत सामान, पूर्व कर सकते हैं। अनचाहे अनुगामी श्वेत-रिक्त स्थान को ट्रिम करें या प्रत्येक फ़ाइल के अंत में एक अनुगामी न्यूलाइन जोड़ें। अधिक विवरण के लिए, उदाहरण फ़ाइल https://github.com/sindresorhus/editorconfig-sublime पर देखें , जो है:

# editorconfig.org
root = true

[*]
indent_style = tab
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false

root = trueलाइन का मतलब है कि EditorConfig अन्य के लिए देखो नहीं होंगे .editorconfigनिर्देशिका संरचना के ऊपरी स्तरों में फ़ाइलों।


अपर्याप्त रूप से आक्रामक। मुझे उन लोगों की श्रृंखला की पहचान करने के लिए प्लगइन की आवश्यकता है, जो फाइल को क्रैल करते हैं और उनमें से प्रत्येक को चेहरे पर पंच करते हैं। और फिर इसे lf से बचाएं।
आर्टऑफवर्फ

धन्यवाद, यह मेरी समस्या थी, मैंने इस प्लगइन को स्थापित किया था और यह .config फ़ाइल से गलत कॉन्फ़िगरेशन ले रहा था
ल्यूक रॉबर्टसन

1

LF से CRLF तक की लाइन एंडेज को

उदात्त खोलें और चरणों का पालन करें: -

1 Ctrl + Shift + p दबाएं फिर पैकेज नाम रेखा को समाप्त करें को एकीकृत करें

फिर फिर से Ctrl + Shift + p दबाएं

2 में खाली इनपुट बॉक्स प्रकार "लाइन यूनिफाइड एंडिंग"

3 हिट दो बार दर्ज करें

उदात्तता कभी-कभी फ्रीज हो सकती है और परिणामस्वरूप LF से CRLF के लिए लाइन एंडिंग बदल जाएगी


1

लाइन एंडिंग्स यूनिफाई पैकेज के माध्यम से एक बार (बैच) परियोजना की सभी फाइलों को संशोधित करने का सबसे सरल तरीका है :

  1. Ctrl+ Shift+ Pटाइप इंस्टेंस + इनस्टॉल पैकेज चुनें
  2. लाइन अंत टाइप करें + लाइन एंडिंग्स चुनें को एकीकृत करें
  3. इंस्टॉल हो जाने के बाद, Ctrl+ Shift+ P+ टाइप एंड + लाइन एंडिंग्स को एकरूपता चुनें
  4. या (3 के बजाय) कॉपी करें:

    {
     "keys": ["ctrl+alt+l"],
     "command": "line_endings_unify"
    },
    

    करने के लिए उपयोगकर्ता सरणी (दाएँ फलक, उद्घाटन के बाद [में) पसंद -> keybindings + प्रेस Ctrl+ Alt+ L

जैसा कि एक अन्य उत्तर में बताया गया है :

  • कैरिज रिटर्न ( सीआर ) चरित्र ( 0x0D, \r) [...] प्रारंभिक मैकिंटोश ऑपरेटिंग सिस्टम (ओएस -9 और पहले)।

  • लाइन फीड ( LF ) चरित्र ( 0x0A, \n) [...] UNIX आधारित सिस्टम (लिनक्स, मैक OSX)

  • रेखा का अंत ( ईओएल ) अनुक्रम ( 0x0D 0x0A, \r\n) [...] (गैर-यूनिक्स: विंडोज, सिम्बियन ओएस)।

यदि आपके पास नोड_मॉडल हैं , तो निर्माण या अन्य ऑटो-जेनरेट किए गए फ़ोल्डर, पैकेज चलाने से पहले उन्हें हटा दें

जब आप पैकेज चलाते हैं:

  1. आपको कॉमा से अलग सूची के माध्यम से खोज करने के लिए कौन से फ़ाइल एक्सटेंशन चुनने के लिए नीचे से पूछा गया है (केवल उन लोगों को टाइप करें जिन्हें आपको प्रतिस्थापन की गति बढ़ाने की आवश्यकता है, उदाहरण के लिए js,jsx)।
  2. फिर आपसे पूछा जाता है कि आपको कौन सी इनपुट लाइन का उपयोग करना है , उदाहरण के लिए यदि आपको LF प्रकार की आवश्यकता है \n
  3. प्रेस करें ENTERऔर तब तक प्रतीक्षा करें जब तक कि आप LineEndingsUnify पूर्ण के साथ एक अलर्ट विंडो न देखें ।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.