क्या मैं Gedit में हाइलाइटिंग डिफ़ॉल्ट सिंटैक्स सेट कर सकता हूं?


24

जब तक आप किसी दस्तावेज़ को gedit में सहेजते हैं, तब तक सिंटैक्स हाइलाइटिंग बंद हो जाती है। इसके स्पष्ट रूप से अच्छे कारण हैं - कुछ शब्द बेतरतीब ढंग से अलग-अलग रंगों में दिख रहे हैं तो लोग भ्रमित हो सकते हैं। लेकिन मेरे उद्देश्यों के लिए, मैं लगभग विशेष रूप से HTML संपादन के लिए gedit का उपयोग करता हूं।

त्वरित संपादन के लिए नए गेडिट दस्तावेज़ में कोड के कई बार स्निपेट्स चिपकाता हूं, और मुझे मैन्युअल रूप से HTML को सिंटैक्स रंग सेट करना होगा। अन्य बार, मैं कोल्डफ़्यूज़न (.cfm) दस्तावेज़ खोलता हूं, जो कि जीएडिट स्पष्ट रूप से पहचान नहीं करता है, और फिर से मुझे मैन्युअल रूप से HTML में रंग सेट करना होगा। इन दोनों असुविधाओं को ठीक किया जाएगा अगर मुझे एक मान्यता प्राप्त फ़ाइल एक्सटेंशन के बिना नए दस्तावेज़ों और दस्तावेजों के लिए HTML सिंटैक्स हाइलाइटिंग का स्वचालित रूप से उपयोग करने के लिए gedit बताने का एक तरीका मिल सके। क्या यह संभव है?


मैं भी सोच रहा था कि क्या मैं फाइल को बचाने के लिए अलग-अलग भाषाओं के बीच स्विच कर सकता हूं, जैसे कि SciTE में। मुझे समय की बचत होगी।
निकुलेत्स्की

जवाबों:


21

आप सुपर उपयोगकर्ता के रूप html.langमें संपादन करके HTML सिंटैक्स रंग योजना में कम से कम फ़ाइल एक्सटेंशन जोड़ /usr/share/gtksourceview-2.0/language-specs/सकते हैं। तो कहते हैं कि आप HTML सिंटैक्स हाइलाइटिंग cfm फ़ाइलों में जोड़ना चाहते हैं, आप इसे बदल देंगे

<property name="globs">*.html;*.htm</property>

(डिफ़ॉल्ट html.lang) इसमें

<property name="globs">*.html;*.htm;*.cfm</property>


धन्यवाद! इसने मेरे कोल्डफ्यूजन फाइलों में गेडिट ऐड सिंटैक्स रंग बनाने के लिए काम किया।
माइकल मार्टिन-स्मोकर

2
काश, मैं इस उत्तर में कुछ अतिरिक्त अप-वोट जोड़ पाता। मैंने अभी इस उत्तर का उपयोग फिर से CSS को LESS और SASS फाइलों को हाइलाइट करने के लिए किया।
माइकल मार्टिन-स्मकर

1
मैं डुप्लिकेट करने और संपादन के विचार की तरह .langमें उपयोगकर्ता निर्देशिका अपने आप
jozxyqk

1
@michaelms मैंने पोस्ट में और आपकी टिप्पणी के लिए एक अपवोट जोड़ा क्योंकि मैंने sudo nano /usr/share/gtksourceview-3.0/canguage-specs/css.lang और जोड़कर * जोड़कर gedit में अपनी LESS फ़ाइलों पर प्रकाश डाला सीएसएस वाक्यविन्यास जोड़ा। कम और * .sbs को ग्लब्स प्रॉपर्टी: <property name="globs">*.css;*.CSSL;*.less;*.sass</property>
लिंक स्वानसन

आपको gtksourceview के विभिन्न संस्करणों के लिए पथ को संशोधित करना पड़ सकता है। आप इसे अधिलेखित होने से बचाने के लिए फ़ाइल को अपने प्रोफ़ाइल फ़ोल्डर में कॉपी करना चाह सकते हैं। नीचे 5chdn का उत्तर देखें ( askubuntu.com/a/310553/37574 )
mwfearnley

14

आप अपनी $HOMEनिर्देशिका में अपनी खुद की भाषा परिभाषा फ़ाइलें बना सकते हैं । Gtk भाषा स्पेक्स को संपादित करने की अनुशंसा नहीं की जाती है क्योंकि यह प्रत्येक gtksourceview अपडेट द्वारा ओवरराइड किया जाएगा ।

अपनी भाषा निर्देशिका फ़ाइल को अपनी होम निर्देशिका में कॉपी करें:

$ cp /usr/share/gtksourceview-3.0/language-specs/html.lang ~/.local/share/gtksourceview-3.0/language-specs/

फिर, अपने कस्टम फ़ाइल स्वरूपों .cfmको एक्सटेंशन की सूची में जोड़ें:

<property name="globs">*.html;*.htm;*.cfm</property>

इस तरह geditसे आपके कस्टम फ़ाइल स्वरूपों पर हाइलाइटिंग ऑटो सिंटैक्स का उपयोग किया जाएगा और gtk अपडेट आपके कस्टम परिवर्तनों को ओवरराइड नहीं करेगा।


1
यह चयनित उत्तर की तुलना में बेहतर विकल्प है। जब संभव हो, स्थानीय रूप से परिवर्तन लागू करें।
नाइटकोड 3r

लेकिन gedut $ HOME में कॉपी की गई फ़ाइल को कैसे पहचानेंगे? मैं gedit को कैसे बताता हूं कि $ HOME में .lang फ़ाइल को देखने की आवश्यकता है ??? अग्रिम में धन्यवाद।
श्रीकृष्णन

8

यह Gedit के स्रोत कोड को संशोधित किए बिना या डिफ़ॉल्ट को ओवरराइड करने के लिए प्लगइन लिखने के बिना संभव नहीं है। डिफ़ॉल्ट सिंटैक्स हाइलाइटिंग स्कीम हार्ड-कोडेड है


मुझे सही दिशा बताने के लिए धन्यवाद। मैंने नवीनतम गेडिट पर क्लोन किया और इससे पहले कि मुझे एहसास हुआ कि गेडिट gtk + 3 पर निर्भर करता है, के आसपास प्रहार करना शुरू कर दिया है। यह मेरे लिए सौदेबाजी की तुलना में बहुत बड़ी गड़बड़ में बदलने की क्षमता है। ;-)
माइकल मार्टिन-स्मूकर

एक और बात: किसी भी विचार के लिए क्या मूल्य languageमान्य हैं? मैं के लिए स्रोत के माध्यम से देखा geditऔर gtksourceviewऔर मैं कुछ भी है कि भाषा के नाम की तरह देखा नहीं मिला (लेकिन मेरी सी कौशल सुंदर न के बराबर हैं।)
माइकल मार्टिन-Smucker

1
@MichaelMS मुझे यकीन नहीं है, लेकिन अगर आप किसी भी प्रयास को एक समाधान में निवेश करने की योजना बनाते हैं, तो मुझे ईमानदारी से लगता है set_languageकि सैंपल पायथन प्लगइन में कॉल को इम्प्लांट करना सबसे आसान हो सकता है । आप संभवतः get_languageHTML स्रोत हाइलाइटिंग के लिए सही मान पता लगाने के लिए उपयोग कर सकते हैं।
æंड्र्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.