टेक्स्ट एडिटर: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 38: Line 38:
</ref>  
</ref>  


पहले इंटरएक्टिव पाठ संपादकों  पंक्ति एडिटर के रूप में थे जो प्रदर्शन के बिना डिस्प्ले के टेलीप्रिंटर या [[टाइपराइटर]] शैली के टर्मिनलों पर केंद्रित थे। कमांड्स प्रायः एक सिंगल कीस्ट्रोक कर्सर नामक एक काल्पनिक प्रविष्टि बिंदु पर जो कर्सर कहलाता है, और एक फ़ाइल में संपादन को प्रभावित करता है। संपादकों का सत्यापन फ़ाइल के एक छोटे से भाग  को प्रिंट करने के लिए कमांड टाइप करके और समय-समय पर पूरी फ़ाइल को छापकर करके  किया जाता था। कुछ पंक्ति संपादकों में, कर्सर को उन आदेशों द्वारा स्थानांतरित किया जा सकता है जो फ़ाइल में पंक्ति संख्या निर्दिष्ट करते हैं, पाठ्य  [[स्ट्रिंग (कंप्यूटर विज्ञान)|पंक्ति (कंप्यूटर विज्ञान)]] संदर्भ जिसके लिए खोज की जाती है, और अंत में [[नियमित अभिव्यक्ति|नियमित अभिव्यक्तियां]] कीपंचिंग की तुलना में पंक्ति संपादकों ने बड़े सुधार किए थे। कुछ पंक्ति संपादकों को कीपंचिंग द्वारा उपयोग किया जा सकता है; संपादन निर्देश कार्ड के एक डेक से लिया जा सकता है और एक निर्दिष्ट फ़ाइल पर लागू किया जा सकता है। कुछ सामान्य पंक्ति संपादकों ने एक सत्यापित मोड का समर्थन किया जिसमें परिवर्तन निर्देश परिवर्तित पंक्तियों को प्रदर्शित करते हैं।
पहले इंटरएक्टिव पाठ संपादकों  पंक्ति संपादक के रूप में थे जो प्रदर्शन के बिना डिस्प्ले के टेलीप्रिंटर या [[टाइपराइटर]] शैली के टर्मिनलों पर केंद्रित थे। कमांड्स प्रायः एक सिंगल कीस्ट्रोक कर्सर नामक एक काल्पनिक प्रविष्टि बिंदु पर जो कर्सर कहलाता है, और एक फ़ाइल में संपादन को प्रभावित करता है। संपादकों का सत्यापन फ़ाइल के एक छोटे से भाग  को प्रिंट करने के लिए कमांड टाइप करके और समय-समय पर पूरी फ़ाइल को छापकर करके  किया जाता था। कुछ पंक्ति संपादकों में, कर्सर को उन आदेशों द्वारा स्थानांतरित किया जा सकता है जो फ़ाइल में पंक्ति संख्या निर्दिष्ट करते हैं, पाठ्य  [[स्ट्रिंग (कंप्यूटर विज्ञान)|पंक्ति (कंप्यूटर विज्ञान)]] संदर्भ जिसके लिए खोज की जाती है, और अंत में [[नियमित अभिव्यक्ति|नियमित अभिव्यक्तियां]] कीपंचिंग की तुलना में पंक्ति संपादकों ने बड़े सुधार किए थे। कुछ पंक्ति संपादकों को कीपंचिंग द्वारा उपयोग किया जा सकता है; संपादन निर्देश कार्ड के एक डेक से लिया जा सकता है और एक निर्दिष्ट फ़ाइल पर लागू किया जा सकता है। कुछ सामान्य पंक्ति संपादकों ने एक सत्यापित मोड का समर्थन किया जिसमें परिवर्तन निर्देश परिवर्तित पंक्तियों को प्रदर्शित करते हैं।


जब वीडियो स्क्रीन वाले [[कंप्यूटर टर्मिनल]] उपलब्ध हो गए, तो स्क्रीन-आधारित पाठ संपादक (कभी-कभी केवल स्क्रीन संपादक कहलाते हैं) सामान्यहो गया। शुरुआती पूर्ण-स्क्रीन संपादकों में से एक [[O26 (पाठ संपादक)]] था, जिसे 1967 में [[सीडीसी 6000 श्रृंखला]] के कंप्यूटरों के ऑपरेटर कंसोल के लिए लिखा गया था। एक और प्रारंभिक पूर्ण-स्क्रीन संपादक [[vi]] था। 1970 के दशक में लिखा गया, यह अभी भी एक मानक संपादक है<ref>{{cite web |url = http://www.opengroup.org/onlinepubs/009695399/utilities/vi.html |publisher = The IEEE and The Open Group |title = द ओपन ग्रुप बेस स्पेसिफिकेशंस इश्यू 6, IEEE Std 1003.1, 2004 संस्करण|year = 2004 |access-date = January 18, 2010 }}</ref> [[यूनिक्स]] और [[लिनक्स]] पसमृद्ध ालन प्रणाली  पर। 1970 के दशक में [[यूसीएसडी पास्कल]] स्क्रीन ओरिएंटेड एडिटर भी लिखा गया था, जिसे इंडेंटेड सोर्स कोड और सामान्य पाठ दोनों के लिए अनुकूलित किया गया था।<ref>{{Cite journal |last1=L. Bowles |first1=Kenneth |last2=Hollan |first2=James |date= 1978-07-01 |title=यूसीएसडी पास्कल प्रणाली का परिचय|url=https://www.researchgate.net/publication/226182032 |journal=Behavior Research Methods |volume=10 |issue=4 |pages=531–534 |doi= 10.3758/BF03205341|doi-access=free }}</ref> [[Emacs]], पहले [[मुक्त और खुला स्रोत सॉफ्टवेयर]] में से एक | फ्री और ओपन-सोर्स सॉफ्टवेयर प्रोजेक्ट्स, एक और शुरुआती फुल-स्क्रीन या रियल-टाइम एडिटर है, जो कई प्रणाली  के लिए [[पोर्ट (सॉफ्टवेयर)]] था।<ref>{{cite web |url = http://www.ibm.com/developerworks/aix/tutorials/au-emacs1/index.html |title = Emacs संपादन वातावरण का परिचय|website = [[IBM]] |access-date = 2014-06-06 |archive-date = 2014-06-06 |archive-url = https://web.archive.org/web/20140606233857/http://www.ibm.com/developerworks/aix/tutorials/au-emacs1/index.html |url-status = dead }}</ref> एक पूर्ण-स्क्रीन संपादक के उपयोग में आसानी और गति (लाइन-आधारित संपादकों की तुलना में) ने वीडियो टर्मिनलों की शुरुआती खरीदारी को प्रेरित किया।<ref>{{cite web |url = http://www.multicians.org/mepap.html |title = मल्टिक्स Emacs: इतिहास, डिजाइन और कार्यान्वयन|quote = कुछ मल्टिक्स उपयोगकर्ताओं ने इन टर्मिनलों को "ग्लास टेलेटाइप्स" या "स्थानीय संपादन" के माध्यम से उपयोग करते हुए खरीदा। }}</ref>
जब वीडियो स्क्रीनके साथ [[कंप्यूटर टर्मिनल]] उपलब्ध हो गए, तब स्क्रीन-आधारित पाठ संपादक सामान्य हो गए और ये कभी-कभी केवल स्क्रीन संपादक कहलाते हैं। सबसे पहले पूर्ण-स्क्रीन संपादकों में से एक [[O26 (पाठ संपादक)|ओ26 पाठ संपादक]] था, जिसे 1967 में [[सीडीसी 6000 श्रृंखला|सीडीसी 6000 सीरीज]] कंप्यूटरों के ऑपरेटर कंसोल के लिए लिखा गया था। एक और प्रारंभिक पूर्ण-स्क्रीन संपादक [[vi|वीआई]] 1970 के दशक में लिखा गया था। यह अभी भी [[यूनिक्स]] और [[लिनक्स]] ऑपरेटिंग प्रणाली पर एक मानक संपादक है।<ref>{{cite web |url = http://www.opengroup.org/onlinepubs/009695399/utilities/vi.html |publisher = The IEEE and The Open Group |title = द ओपन ग्रुप बेस स्पेसिफिकेशंस इश्यू 6, IEEE Std 1003.1, 2004 संस्करण|year = 2004 |access-date = January 18, 2010 }}</ref> 1970 के दशक में [[यूसीएसडी पास्कल]] स्क्रीन ओरिएंटेड संपादक ने लिखा था, जिसे इंडेंटेड सोर्स कोड और सामान्य पाठ दोनों के लिए अनुकूलित किया गया था।<ref>{{Cite journal |last1=L. Bowles |first1=Kenneth |last2=Hollan |first2=James |date= 1978-07-01 |title=यूसीएसडी पास्कल प्रणाली का परिचय|url=https://www.researchgate.net/publication/226182032 |journal=Behavior Research Methods |volume=10 |issue=4 |pages=531–534 |doi= 10.3758/BF03205341|doi-access=free }}</ref> ईमैक्स  जो कि पहले [[फ्री]] [[मुक्त और खुला स्रोत सॉफ्टवेयर|और ओपन  स्रोत सॉफ्टवेयर]] परियोजनाओं में से एक है| एक अन्य प्राथमिक स्क्रीन या वास्तविक समय में संपादक के रूप में होता है, जो कई प्रणाली  के लिए [[पोर्ट (सॉफ्टवेयर)|पोर्ट]] किया गया था।<ref>{{cite web |url = http://www.ibm.com/developerworks/aix/tutorials/au-emacs1/index.html |title = Emacs संपादन वातावरण का परिचय|website = [[IBM]] |access-date = 2014-06-06 |archive-date = 2014-06-06 |archive-url = https://web.archive.org/web/20140606233857/http://www.ibm.com/developerworks/aix/tutorials/au-emacs1/index.html |url-status = dead }}</ref> एक पूर्ण-स्क्रीन संपादक के उपयोग में आसानी और गति लाइन आधारित संपादकों की तुलना में वीडियो टर्मिनलों की प्रारंभिक खरीद को प्रेरित किया था।<ref>{{cite web |url = http://www.multicians.org/mepap.html |title = मल्टिक्स Emacs: इतिहास, डिजाइन और कार्यान्वयन|quote = कुछ मल्टिक्स उपयोगकर्ताओं ने इन टर्मिनलों को "ग्लास टेलेटाइप्स" या "स्थानीय संपादन" के माध्यम से उपयोग करते हुए खरीदा। }}</ref>


एक पाठ संपादक में मुख्य डेटा संरचना वह है जो स्ट्रिंग (वर्णों के अनुक्रम) या संग्रहण रिकॉर्ड की सूची का प्रबंधन करती है जो संपादित की जा रही फ़ाइल की वर्तमान स्थिति का प्रतिनिधित्व करती है।
एक पाठ संपादक में मुख्य डेटा संरचना वह है जो स्ट्रिंग वर्णों के अनुक्रम या संग्रहण रिकॉर्ड की सूची का प्रबंधन करती है, जो संपादित की जा रही फ़ाइल की वर्तमान स्थिति का प्रतिनिधित्व करती है। जबकि पूर्व वर्णों की एक लंबी लगातार [[सरणी डेटा संरचना|सरणी में डेटा]] भंडारित किया जा सकता है। पाठ संपादकों के लिए इच्छा जो पाठ को जल्दी से सम्मिलित कर सकती है, पाठ हटा सकती है, और पिछले संपादनों को पूर्ववत/फिर से कर सकती है, जिससे अधिक जटिल अनुक्रम डेटा संरचनाओं का विकास हुआ।<ref>
जबकि पूर्व को वर्णों की एक लंबी लगातार [[सरणी डेटा संरचना]] में संग्रहीत किया जा सकता है,
 
पाठ संपादकों की इच्छा जो अधिक तेज़ी से पाठ सम्मिलित कर सकती है, पाठ हटा सकती है, और पिछले संपादनों को पूर्ववत/फिर से कर सकती है, जिससे अधिक जटिल अनुक्रम डेटा संरचनाओं का विकास हुआ।<ref>
Charles Crowley.
Charles Crowley.
[https://www.cs.unm.edu/~crowley/papers/sds.pdf "Data Structures for Text Sequences"].
[https://www.cs.unm.edu/~crowley/papers/sds.pdf "Data Structures for Text Sequences"].
Line 51: Line 48:
[http://www.cs.unm.edu/~crowley/papers/sds/node1.html "Introduction"].
[http://www.cs.unm.edu/~crowley/papers/sds/node1.html "Introduction"].
</ref>
</ref>
एक विशिष्ट पाठ संपादकों  [[गैप बफर]], लाइनों की एक लिंक की गई सूची ([[पेपर क्लिप]] में), एक टुकड़ा तालिका, या एक [[रस्सी (डेटा संरचना)]] का उपयोग करता है, इसकी अनुक्रम डेटा संरचना के रूप में।
 
एक विशिष्ट पाठ संपादकों  [[गैप बफर]], इसका अनुक्रम डेटा संरचना के रूप में [[कागज-क्लिप]], एक पीस टेबल या [[रस्सी के रूप]] में लाइनों की लिंक्ड सूची का प्रयोग करता है।


== पाठ संपादकों के प्रकार ==
== पाठ संपादकों के प्रकार ==
Line 80: Line 78:
* मल्टी-फाइल एडिटिंग: एडिट-सेशन के दौरान मल्टीपल फाइल्स को एडिट करने की क्षमता, शायद प्रत्येक फाइल के करंट-पंक्ति कर्सर को याद रखना, प्रत्येक फाइल में बार-बार पाठ डालने के लिए, फाइलों के बीच पाठ को कॉपी या मूव करना, फाइल तुलना साइड-बाय- पक्ष (शायद एक टाइल वाले बहु-दस्तावेज़ इंटरफ़ेस के साथ), आदि।
* मल्टी-फाइल एडिटिंग: एडिट-सेशन के दौरान मल्टीपल फाइल्स को एडिट करने की क्षमता, शायद प्रत्येक फाइल के करंट-पंक्ति कर्सर को याद रखना, प्रत्येक फाइल में बार-बार पाठ डालने के लिए, फाइलों के बीच पाठ को कॉपी या मूव करना, फाइल तुलना साइड-बाय- पक्ष (शायद एक टाइल वाले बहु-दस्तावेज़ इंटरफ़ेस के साथ), आदि।
* बहु-दृश्य संपादक: स्वतंत्र कर्सर ट्रैकिंग के साथ एक ही फ़ाइल के कई दृश्य प्रदर्शित करने की क्षमता, विंडोज़ के बीच परिवर्तनों को सिंक्रनाइज़ करना लेकिन स्वतंत्र फ़ाइलों के लिए उपलब्ध सुविधाएं प्रदान करना।
* बहु-दृश्य संपादक: स्वतंत्र कर्सर ट्रैकिंग के साथ एक ही फ़ाइल के कई दृश्य प्रदर्शित करने की क्षमता, विंडोज़ के बीच परिवर्तनों को सिंक्रनाइज़ करना लेकिन स्वतंत्र फ़ाइलों के लिए उपलब्ध सुविधाएं प्रदान करना।
* संक्षिप्त करें/विस्तारित करें, जिसे [[कोड तह]] भी कहा जाता है: अस्थायी रूप से पाठ के अनुभागों को दृश्य से बाहर करने की क्षमता। यह या तो पंक्ति नंबरों की एक श्रृंखला पर या कुछ सिंटैक्टिक तत्व पर आधारित हो सकता है, उदाहरण के लिए, BEGIN के बीच सब कुछ छोड़कर; और मिलान अंत;।
* संक्षिप्त करें/विस्तारित करें, जिसे [[कोड तह]] भी कहा जाता है: अस्थायी रूप से पाठ के अनुभागों को दृश्य से बाहर करने की क्षमता। यह या तो पंक्ति नंबरों की एक सीरीज  पर या कुछ सिंटैक्टिक तत्व पर आधारित हो सकता है, उदाहरण के लिए, BEGIN के बीच सब कुछ छोड़कर; और मिलान अंत;।
* स्तंभ-आधारित संपादन; किसी विशेष कॉलम में डेटा को बदलने या डालने की क्षमता, या डेटा को विशिष्ट कॉलम में स्थानांतरित करने की क्षमता।
* स्तंभ-आधारित संपादन; किसी विशेष कॉलम में डेटा को बदलने या डालने की क्षमता, या डेटा को विशिष्ट कॉलम में स्थानांतरित करने की क्षमता।
* [[डेटा परिवर्तन]] - वर्तमान में संपादित की जा रही फ़ाइल में किसी अन्य पाठ फ़ाइल की सामग्री को पढ़ना या विलय करना। कुछ पाठ संपादक पसमृद्ध ालन प्रणाली  के [[कमांड-लाइन दुभाषिया|कमांड-पंक्ति दुभाषिया]] को जारी किए गए कमांड के आउटपुट को सम्मिलित करने का एक तरीका प्रदान करते हैं। साथ ही, केस-शिफ्टिंग फीचर लोअरकेस या अपरकेस में अनुवाद कर सकता है।
* [[डेटा परिवर्तन]] - वर्तमान में संपादित की जा रही फ़ाइल में किसी अन्य पाठ फ़ाइल की सामग्री को पढ़ना या विलय करना। कुछ पाठ संपादक पसमृद्ध ालन प्रणाली  के [[कमांड-लाइन दुभाषिया|कमांड-पंक्ति दुभाषिया]] को जारी किए गए कमांड के आउटपुट को सम्मिलित करने का एक तरीका प्रदान करते हैं। साथ ही, केस-शिफ्टिंग फीचर लोअरकेस या अपरकेस में अनुवाद कर सकता है।
* फ़िल्टर (सॉफ़्टवेयर) - कुछ उन्नत पाठ संपादक संपादक को संपादित की जा रही फ़ाइल के सभी या अनुभागों को किसी अन्य उपयोगिता में भेजने की अनुमति देते हैं और परिणाम को फ़िल्टर की जा रही लाइनों के स्थान पर फ़ाइल में वापस पढ़ते हैं। उदाहरण के लिए, यह वर्णानुक्रम या संख्यात्मक रूप से पंक्तियों की एक श्रृंखला को क्रमबद्ध करने, गणितीय संगणना करने, स्रोत कोड को इंडेंट करने आदि के लिए उपयोगी है।
* फ़िल्टर (सॉफ़्टवेयर) - कुछ उन्नत पाठ संपादक संपादक को संपादित की जा रही फ़ाइल के सभी या अनुभागों को किसी अन्य उपयोगिता में भेजने की अनुमति देते हैं और परिणाम को फ़िल्टर की जा रही लाइनों के स्थान पर फ़ाइल में वापस पढ़ते हैं। उदाहरण के लिए, यह वर्णानुक्रम या संख्यात्मक रूप से पंक्तियों की एक सीरीज  को क्रमबद्ध करने, गणितीय संगणना करने, स्रोत कोड को इंडेंट करने आदि के लिए उपयोगी है।
* सिंटेक्स हाइलाइटिंग - स्रोत कोड, मार्कअप लैंग्वेज, [[कॉन्फ़िग फ़ाइल]]्स और अन्य पाठ को प्रासंगिक रूप से हाइलाइट करता है जो एक संगठित या पूर्वानुमेय प्रारूप में दिखाई देता है। संपादक सामान्यतः  उपयोगकर्ताओं को प्रत्येक भाषा तत्व के लिए उपयोग किए जाने वाले रंगों या शैलियों को अनुकूलित करने की अनुमति देते हैं। कुछ पाठ संपादक उपयोगकर्ताओं को संपादक के संपूर्ण उपयोगकर्ता इंटरफ़ेस के स्वरूप और अनुभव को बदलने के लिए [[थीम (कंप्यूटिंग)]] को स्थापित करने और उपयोग करने की अनुमति भी देते हैं।
* सिंटेक्स हाइलाइटिंग - स्रोत कोड, मार्कअप लैंग्वेज, [[कॉन्फ़िग फ़ाइल]]्स और अन्य पाठ को प्रासंगिक रूप से हाइलाइट करता है जो एक संगठित या पूर्वानुमेय प्रारूप में दिखाई देता है। संपादक सामान्यतः  उपयोगकर्ताओं को प्रत्येक भाषा तत्व के लिए उपयोग किए जाने वाले रंगों या शैलियों को अनुकूलित करने की अनुमति देते हैं। कुछ पाठ संपादक उपयोगकर्ताओं को संपादक के संपूर्ण उपयोगकर्ता इंटरफ़ेस के स्वरूप और अनुभव को बदलने के लिए [[थीम (कंप्यूटिंग)]] को स्थापित करने और उपयोग करने की अनुमति भी देते हैं।
* सिंटेक्स-उन्मुख संपादक - कुछ संपादक एक या अधिक भाषाओं के सिंटैक्स का समर्थन करते हैं, और सिंटैक्टिकल यूनिट के संदर्भ में संचालन की अनुमति देते हैं, उदाहरण के लिए, एक सेलेक्ट स्टेटमेंट में एक नवीनतम  WHEN क्लॉज डालें।
* सिंटेक्स-उन्मुख संपादक - कुछ संपादक एक या अधिक भाषाओं के सिंटैक्स का समर्थन करते हैं, और सिंटैक्टिकल यूनिट के संदर्भ में संचालन की अनुमति देते हैं, उदाहरण के लिए, एक सेलेक्ट स्टेटमेंट में एक नवीनतम  WHEN क्लॉज डालें।

Revision as of 00:11, 31 December 2022

Error creating thumbnail:
यहां दिखाए गए लीफपैड जैसे संपादकों को अधिकांशतः पाठ फ़ाइलों को खोलने के लिए डिफ़ॉल्ट सहायक एप्लिकेशन के रूप में पसमृद्ध ालन प्रणाली के साथ सम्मलित किया जाता है।

एक पाठ्य संपादक, एक प्रकार का कंप्यूटर प्रोग्राम है जो सादे पाठ को संपादित करता है। ऐसे कार्यक्रमों को कभी-कभी नोटपैड सॉफ्टवेयर जैसे विंडोज नोटपैड के रूप में जाना जाता है।[1][2][3] पाठ संपादकों को पसमृद्ध ालन प्रणाली और सॉफ्टवेयर विकास पैकेज के साथ प्रदान किया जाता है, और इसका उपयोग विन्यास फाइल, दस्तावेज़ीकरण फ़ाइलों और प्रोग्रामिंग भाषा स्रोत कोड जैसी फ़ाइलों को बदलने के लिए किया जाता है।[4]

सादा पाठ और समृद्ध पाठ

पाठ संपादकों और संपन्न पाठ्य के सादे पाठ के बीच महत्वपूर्ण अंतर होता है। जैसे कि शब्द प्रोसेसर या डेस्कटॉप प्रकाशन सॉफ्टवेयर के रूप  में प्रयोग होता है।

सादे पाठ में विशेष रूप से वर्ण निरूपण होता है.प्रत्येक अक्षर को एक दो या चार बाइट के नियत-लंबाई अनुक्रम द्वारा अथवा विशिष्ट संप्रतीक एनकोडिंग सम्मेलनों जैसे-एएससीआईआई, आईएसओ/आईईसी 2022 शिफ्ट जेआईएस, यूटीएफ8, या यूटीएफ16 के अनुसार एक-चार बाइट के चर-लंबाई अनुक्रम के रूप में दर्शाया जाता है। । इन सम्मेलनों में अनेक प्रिंट किये जाने योग्य वर्णों को परिभाषित किया जाता है, परंतु गैर प्रिंटिंग वर्णों को भी परिभाषित किया जाता है जो पाठ के प्रवाह को नियंत्रित करते हैं, जैसे कि स्पेस, (विराम चिह्न), नई पंक्ति और पृष्ठ विराम.सादे पाठ में पाठ के बारे में अन्य कोई जानकारी नहीं होती है, यहां तक ​​कि नियोजित वर्ण एन्कोडिंग सम्मेलन भी नहीं है। सादे पाठ पाठ्य फ़ाइलों में संग्रहीत किया जाता है, चूंकि पाठ्य फ़ाइलें विशेष रूप से सादे पाठ को संग्रहीत नहीं करती हैं। और कंप्यूटर के प्रारंभिक दिनों के बाद से एक बार सादा पाठ की आवश्यकता हो गई थी और अब सम्मेलन के अनुसार सामान्य रूप से एक मिनीवैन फ़ॉन्ट का उपयोग करते हुए प्रदर्शित किया जाता था, जैसे कि क्षैतिज संरेखण और स्तंभ स्वरूपण में कभी-कभी व्हॉट्सएप वर्णों का उपयोग करके किया जाता था।

दूसरी ओर समृद्ध पाठ में मेटाडेटा, वर्ण स्वरूपण डेटा जैसे टाइपफेस, आकार, वजन और शैली के अनुच्छेद स्वरूपण डेटा जैसे इंडेंटेशन, संरेखण, अक्षर और शब्द वितरण, और लाइनों या अन्य पैराग्रामों के बीच स्थान, तथा पृष्ठ विनिर्देश डेटा जैसे आकार, मार्जिन और पढ़ने की दिशा में समृद्ध पाठ बहुत जटिल हो सकता है समृद्ध पाठ को बाइनरी प्रारूप प्रारूप में सहेजा जा सकता है, जैसे डॉक् (कंप्यूटिंग), पाठ के प्रस्तुतिकरण के लिए मार्कअप भाषा जैसे आरटीएफ या एचटीएमएल का पालन करने वाली पाठ फाइल्स दोनों के वर्ण-संकर फॉर्म जैसे ऑफिस ओपन एक्सएमएल में सेव किया जा सकता है।

पाठ संपादकों का उद्देश्य उस पाठ की फ़ाइलों को खोलना और सहेजना होता है जिसमें या तो सादे पाठ हो या ऐसी कोई भी चीज़ होती है जिसे सादे पाठ के रूप में व्याख्या किया जा सके, तथा जिसमें समृद्ध पाठ के लिए मार्कअप जैसे स्केलेबल वेक्टर ग्राफिक्स सम्मलित होते हैं।

इतिहास

File:PunchCardDecks.agr.jpg
कई प्रोग्राम डेक के साथ छिद्रित कार्ड का एक बॉक्स।

पाठ संपादकों के अस्तित्व में आने से पहले, कंप्यूटर पाठ को कीपंच मशीनों के साथ पंच कार्ड में पंच किया जाता था।[5] फिर इन पतले कार्डबोर्ड कार्डों के भौतिक डिब्बों को एक पंच कार्ड इनपुट/आउटपुट में डाला जाता था। इस प्रकार के कार्ड डेकों से निर्मित चुंबकीय टेप, चुंबकीय ड्रम और हार्ड डिस्क ड्राइव कार्ड छवि फ़ाइलों में अधिकांशतः कोई पंक्ति पृथक्करण वर्ण नहीं होते थे, और यह भी मान लिया जाता था कि उनकी लंबाई[lower-alpha 1] 80- या 90 शब्दों में हो सकती थी। [6] अभिलेख।[7] छिद्रित टेप कार्ड का एक विकल्प था। इसे कुछ टेलिप्रिंटर (जैसे टेलेटाइप) द्वारा बनाया जा सकता है, जो रिकॉर्ड के अंत को इंगित करने के लिए विशेष वर्णों का उपयोग करते हैं।[8] कुछ प्रारंभिक ऑपरेटिंग प्रणाली में बैच पाठ संपादकों को सम्मलित करते थे, जो या तो लेन्गवेज प्रोसेसरों के साथ एकीकृत होते थे या फिर अलग-अलग यूटिलिटी प्रोग्राम के रूप में;एक प्रारंभिक उदाहरण शेयर ऑपरेटिंग प्रणाली में स्कूवी स्रोत फ़ाइलों को संपादित करने की क्षमता रखता था।.[9]

पहले इंटरएक्टिव पाठ संपादकों पंक्ति संपादक के रूप में थे जो प्रदर्शन के बिना डिस्प्ले के टेलीप्रिंटर या टाइपराइटर शैली के टर्मिनलों पर केंद्रित थे। कमांड्स प्रायः एक सिंगल कीस्ट्रोक कर्सर नामक एक काल्पनिक प्रविष्टि बिंदु पर जो कर्सर कहलाता है, और एक फ़ाइल में संपादन को प्रभावित करता है। संपादकों का सत्यापन फ़ाइल के एक छोटे से भाग को प्रिंट करने के लिए कमांड टाइप करके और समय-समय पर पूरी फ़ाइल को छापकर करके किया जाता था। कुछ पंक्ति संपादकों में, कर्सर को उन आदेशों द्वारा स्थानांतरित किया जा सकता है जो फ़ाइल में पंक्ति संख्या निर्दिष्ट करते हैं, पाठ्य पंक्ति (कंप्यूटर विज्ञान) संदर्भ जिसके लिए खोज की जाती है, और अंत में नियमित अभिव्यक्तियां कीपंचिंग की तुलना में पंक्ति संपादकों ने बड़े सुधार किए थे। कुछ पंक्ति संपादकों को कीपंचिंग द्वारा उपयोग किया जा सकता है; संपादन निर्देश कार्ड के एक डेक से लिया जा सकता है और एक निर्दिष्ट फ़ाइल पर लागू किया जा सकता है। कुछ सामान्य पंक्ति संपादकों ने एक सत्यापित मोड का समर्थन किया जिसमें परिवर्तन निर्देश परिवर्तित पंक्तियों को प्रदर्शित करते हैं।

जब वीडियो स्क्रीनके साथ कंप्यूटर टर्मिनल उपलब्ध हो गए, तब स्क्रीन-आधारित पाठ संपादक सामान्य हो गए और ये कभी-कभी केवल स्क्रीन संपादक कहलाते हैं। सबसे पहले पूर्ण-स्क्रीन संपादकों में से एक ओ26 पाठ संपादक था, जिसे 1967 में सीडीसी 6000 सीरीज कंप्यूटरों के ऑपरेटर कंसोल के लिए लिखा गया था। एक और प्रारंभिक पूर्ण-स्क्रीन संपादक वीआई 1970 के दशक में लिखा गया था। यह अभी भी यूनिक्स और लिनक्स ऑपरेटिंग प्रणाली पर एक मानक संपादक है।[10] 1970 के दशक में यूसीएसडी पास्कल स्क्रीन ओरिएंटेड संपादक ने लिखा था, जिसे इंडेंटेड सोर्स कोड और सामान्य पाठ दोनों के लिए अनुकूलित किया गया था।[11] ईमैक्स जो कि पहले फ्री और ओपन स्रोत सॉफ्टवेयर परियोजनाओं में से एक है| एक अन्य प्राथमिक स्क्रीन या वास्तविक समय में संपादक के रूप में होता है, जो कई प्रणाली के लिए पोर्ट किया गया था।[12] एक पूर्ण-स्क्रीन संपादक के उपयोग में आसानी और गति लाइन आधारित संपादकों की तुलना में वीडियो टर्मिनलों की प्रारंभिक खरीद को प्रेरित किया था।[13]

एक पाठ संपादक में मुख्य डेटा संरचना वह है जो स्ट्रिंग वर्णों के अनुक्रम या संग्रहण रिकॉर्ड की सूची का प्रबंधन करती है, जो संपादित की जा रही फ़ाइल की वर्तमान स्थिति का प्रतिनिधित्व करती है। जबकि पूर्व वर्णों की एक लंबी लगातार सरणी में डेटा भंडारित किया जा सकता है। पाठ संपादकों के लिए इच्छा जो पाठ को जल्दी से सम्मिलित कर सकती है, पाठ हटा सकती है, और पिछले संपादनों को पूर्ववत/फिर से कर सकती है, जिससे अधिक जटिल अनुक्रम डेटा संरचनाओं का विकास हुआ।[14]

एक विशिष्ट पाठ संपादकों गैप बफर, इसका अनुक्रम डेटा संरचना के रूप में कागज-क्लिप, एक पीस टेबल या रस्सी के रूप में लाइनों की लिंक्ड सूची का प्रयोग करता है।

पाठ संपादकों के प्रकार

Emacs, प्रोग्रामर्स के बीच लोकप्रिय एक टेक्स्ट एडिटर, माइक्रोसॉफ़्ट विंडोज़ पर चल रहा है

File:Gedit 3.32 screenshot.png
gedit सूक्ति के साथ शिप किया गया एक पाठ संपादकों है

कुछ पाठ संपादक छोटे और सरल होते हैं, जबकि अन्य व्यापक और जटिल कार्य प्रदान करते हैं। उदाहरण के लिए, यूनिक्स और यूनिक्स जैसे पसमृद्ध ालन प्रणाली में पिको (पाठ संपादक) संपादक (या एक संस्करण) होता है, लेकिन कई में vi और इएमएसीएस संपादक भी सम्मलित होते हैं। माइक्रोसॉफ्ट विंडोज प्रणाली सरल नोटपैड (विंडोज़) के साथ आते हैं, चूंकि कई लोग-विशेष रूप से प्रोग्रामर-अन्य को पसंद करते हैं:श्रेणी:अधिक सुविधाओं के साथ विंडोज पाठ संपादकों । Apple Macintosh के क्लासिक Mac ओएस के अनुसार मूल TeachText था जिसे पश्चात 1994 में SimpleText द्वारा बदल दिया गया था, जिसे मैक ओएस में TextEdit द्वारा बदल दिया गया था, जो एक पाठ संपादकों की विशेषताओं को एक वर्ड प्रोसेसर जैसे रूलर, मार्जिन और मल्टीपल फॉन्ट के साथ जोड़ता है। चयन। ये सुविधाएँ एक साथ उपलब्ध नहीं हैं, लेकिन उपयोगकर्ता कमांड द्वारा या फ़ाइल प्रकार को स्वचालित रूप से निर्धारित करने वाले प्रोग्राम के माध्यम से स्विच किया जाना चाहिए।

अधिकांश वर्ड प्रोसेसर सादे पाठ प्रारूप में फ़ाइलों को पढ़ और लिख सकते हैं, जिससे उन्हें पाठ संपादकों से सहेजी गई फ़ाइलों को खोलने की अनुमति मिलती है। इन फ़ाइलों को एक वर्ड प्रोसेसर से सहेजना, चूंकि , यह सुनिश्चित करने की आवश्यकता है कि फ़ाइल सादे पाठ प्रारूप में लिखी गई है, और यह कि कोई भी पाठ एन्कोडिंग या बाइट ऑर्डर मार्क सेटिंग्स फ़ाइल को उसके इच्छित उपयोग के लिए अस्पष्ट नहीं करेगी। गैर-WYSIWYG वर्ड प्रोसेसर, जैसे WordStar, को पाठ संपादकों के रूप में सेवा में अधिक आसानी से दबाया जाता है, और वास्तव में 1980 के दशक के दौरान सामान्यतः इसका उपयोग किया जाता था। इन वर्ड प्रोसेसर का डिफ़ॉल्ट फ़ाइल स्वरूप अधिकांशतः एक मार्कअप भाषा जैसा दिखता है, मूल स्वरूप सादा पाठ और गैर-मुद्रण नियंत्रण वर्णों या निकास का क्रम का उपयोग करके प्राप्त दृश्य स्वरूपण होता है। पश्चात माइक्रोसॉफ्ट वर्ड जैसे वर्ड प्रोसेसर अपनी फाइलों को फ़ाइल फ़ारमैट में स्टोर करते हैं और प्लेन पाठ फाइलों को संपादित करने के लिए लगभग कभी भी इसका उपयोग नहीं किया जाता है।[15] कुछ पाठ संपादक मेमोरी-मैप की गई फ़ाइल जैसे बोटा दस्तावेज या एकल फ़ाइल में रखा गया संपूर्ण डेटाबेस हो सकते हैं। सरल पाठ संपादक कंप्यूटर की मुख्य रैंडम एक्सेस मेमोरी में फ़ाइलों को पढ़ सकते हैं। बड़ी फ़ाइलों के साथ, यह एक धीमी प्रक्रिया हो सकती है, और हो सकता है कि पूरी फ़ाइल फ़िट न हो। कुछ पाठ संपादक उपयोगकर्ता को तब तक संपादन शुरू नहीं करने देते जब तक कि यह रीड-इन पूरा नहीं हो जाता। संपादन प्रदर्शन भी अधिकांशतः गैर-विशिष्ट संपादकों में होता है, जिसमें संपादक को कीस्ट्रोक्स या नेविगेशन कमांड का जवाब देने में सेकंड या मिनट भी लगते हैं। विशिष्ट संपादकों के पास अनुकूलन होते हैं जैसे स्मृति में केवल बड़ी फ़ाइलों के दृश्य भाग को संग्रहीत करना, संपादन प्रदर्शन में सुधार करना।

कुछ संपादक प्रोग्राम करने योग्य होते हैं, अर्थात्, उन्हें विशिष्ट उपयोगों के लिए अनुकूलित किया जा सकता है। एक प्रोग्राम करने योग्य संपादक के साथ दोहराए जाने वाले कार्यों को स्वचालित करना या नई कार्यक्षमता जोड़ना या यहां तक ​​कि संपादक के ढांचे के भीतर एक नवीनतम एप्लिकेशन लागू करना आसान है। अनुकूलित करने का एक सामान्य मकसद एक पाठ संपादक को दूसरे पाठ संपादक के आदेशों का उपयोग करना है जिससे उपयोगकर्ता अधिक पसमृद्ध ित है, या अनुपलब्ध कार्यक्षमता की नकल करना जिस पर उपयोगकर्ता निर्भर हो गया है। सॉफ़्टवेयर डेवलपर अधिकांशतः प्रोग्रामिंग भाषा या विकास के वातावरण के अनुरूप संपादक अनुकूलन का उपयोग करते हैं, जिसमें वे काम कर रहे हैं। कुछ पाठ संपादकों की प्रोग्राम क्षमता कार्यक्रम की मुख्य संपादन कार्यक्षमता को बढ़ाने तक सीमित है, लेकिन Emacs को वेब के लिए पाठ फ़ाइलों को संपादित करने से कहीं आगे बढ़ाया जा सकता है। ब्राउज़ करना, ईमेल पढ़ना, ऑनपंक्ति चैट करना, फ़ाइलों का प्रबंधन करना या गेम खेलना और अधिकांशतः इसे पाठ यूजर इंटरफेस के साथ लिस्प निष्पादन वातावरण के रूप में माना जाता है। Emacs को Unix दर्शन के पारंपरिक संपादक युद्धों में इसके प्रतिद्वंद्वी Vi का अनुकरण करने के लिए भी प्रोग्राम किया जा सकता है।[16][17] प्रोग्राम करने योग्य संपादकों का एक महत्वपूर्ण समूह REXX का उपयोग करता है[lower-alpha 2] एक पटकथा भाषा के रूप में। इन रूढ़िवादी संपादकों में एक कमांड पंक्ति होती है जिसमें कमांड और मैक्रो टाइप किए जा सकते हैं और पाठ पंक्ति किस पंक्ति कमांड में होती है[lower-alpha 3] और मैक्रोज़ टाइप किए जा सकते हैं। ऐसे अधिकांश संपादक ISPF|ISPF/PDF ISPF#ISPF संपादक या XEDIT, VM (पसमृद्ध ालन प्रणाली ) के लिए IBM के प्रमुख संपादक|VM/SP के माध्यम से z/VM के डेरिवेटिव हैं। इनमें हेस्लिंग संपादक, एक्सईडीआईटी#पीसी और यूनिक्स अनुकूलन, एक्स2, यूनी-एडिट, और एक्सईडीआईटी#पीसी और यूनिक्स अनुकूलन सम्मलित हैं।

एक विशिष्ट उपयोग के