क्या नोटपैड ++ जैसे HTML टैग्स को हाइलाइट कर सकते हैं?


181

VIM के पास घुंघराले कोष्ठक, कोष्ठक और वर्ग कोष्ठक के जोड़े के लिए समर्थन है। यह PHP और जावास्क्रिप्ट जैसी सी-शैली भाषाओं के संपादन के लिए बहुत अच्छा है। लेकिन HTML टैग्स के मिलान के बारे में क्या?

जब तक मैं इसका उपयोग कर रहा हूं नोटपैड ++ में यह सुविधा थी। एचटीएमएल के ब्लॉक शुरू होने और खत्म होने के लिए बहुत उपयोगी है। मैं देख रहा हूँ कुछ इस तरह के लिए है (हरी div टैग देखें):

(एक बोनस सुविधा: इस स्क्रीनशॉट में लाल टैग की तरह, अप्रकाशित HTML टैग को उजागर करना)।

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

मैंने इनम के लिए कुछ इस तरह खोजने के लिए इंटरनेट का जाल बिछाया है। जाहिर है, मैं केवल एक ही नहीं, 2 अन्य StackOverflow सवाल और बड़प्पन के अनुसार हूँ

मैंने अपने आप को इस्तीफा दे दिया है ताकि वह विज़ुअल HTML टैग्स से मेल न खा सके। क्या ऐसा करना विम के लिए संभव है?

परिशिष्ट: यदि वर्तमान में किसी भी मौजूदा प्लगइन्स के साथ ऐसा करना संभव नहीं है, तो क्या कोई विम्सस्क्रिप्ट विजार्ड के पास कोई उपयुक्त प्लग इन लिखने के लिए कोई संकेत है?


क्या आप बता सकते हैं कि यह सुविधा किस तरह से "बहुत उपयोगी है"? मुझे वास्तव में हर पल सब कुछ जानने की जरूरत नहीं है। जब मुझे कुछ जानने की आवश्यकता होती है, तो विम को बहुत कम कीस्ट्रोक्स में जानना बहुत आसान बनाने के लिए डिज़ाइन किया गया है ।
रोमेनिल

17
जबकि मुझे सब कुछ जानने की आवश्यकता नहीं है, आसानी से यह जानने में सक्षम होने पर कि एक HTML टैग समाप्त होने पर मुझे उस फ़ाइल की संरचना को टटोलने की अनुमति मिलती है जिसके साथ मैं काम कर रहा हूं। मैं बहुत सारे बुरी तरह से लिखे गए कोड से भी निपटता हूं, इसलिए कभी-कभी मैं बिना किसी समापन टैग के साथ एक html टैग का सामना करता हूं, जिसे हमेशा ठीक करने की आवश्यकता होती है।
linqq

5
@romainl मैंने आपके उत्तर को बहुत बार पढ़ा और मुझे वास्तव में आपका दृष्टिकोण पसंद आया। लेकिन इस बार मुझे असहमत होना है। मैं इस विशेषता पर विचार नहीं कर सकता, लेकिन मुझे लगता है कि यह एक बहुत अच्छा सवाल है। यह मेरे लिए अजीब लगता है कि विम के साथ इसे प्राप्त करने का एक आसान तरीका नहीं है।
lucapette

1
@lucapette, धन्यवाद। मुझे भी सवाल पसंद है, वास्तव में। मैंने कभी इस तरह की सुविधा का उपयोग नहीं किया है और मुझे इसकी आवश्यकता कभी महसूस नहीं हुई है। लेकिन यह शायद उन चीजों में से एक है जिन्हें आप एक बार कोशिश किए बिना नहीं रह सकते। मुझे अपने वर्कफ़्लो और कार्यक्षेत्र को स्वच्छ और केंद्रित करना पसंद है, "प्रशासनिक मलबे" से मुक्त है और मुझे लगता है कि इस तरह की सुविधा शानदार हो सकती है। एक प्लगइन के लिए सही उम्मीदवार। एक प्रारंभिक बिंदु के रूप में मैचिट से प्रेरणा लेने की कोशिश कर सकते हैं, शायद।
रोमेनिल

6
क्या आपने इसका उत्तर देखा है? stackoverflow.com/questions/1957083/…
ग्रेग सेक्सटन

जवाबों:


219

मुझे आज कुछ HTML के साथ काम करना था इसलिए मैंने सोचा कि मैं इससे निपट लूंगा। अपनी समस्या को हल करने के लिए vim.org पर एक फुटप्लगिन जोड़ा।

आप इसे यहाँ vim.org पर प्राप्त कर सकते हैं

आप इसे गितुब पर प्राप्त कर सकते हैं

आशा है कि यह आप के लिए काम करता है। यदि आपको कोई समस्या है, तो मुझे बतायें।


1
धन्यवाद! ठीक वैसी ही कार्यक्षमता है जिसकी मुझे तलाश है। यदि आप उन्हें ठीक करने की तरह महसूस करते हैं, तो केवल दो छोटी क़ुबूलें: 1. वर्तमान में, केवल विपरीत टैग का मिलान किया जाता है। क्या यह संभव होगा कि कर्सर जिस टैग पर है, उसका मिलान भी हो? 2. वर्तमान में, यदि किसी html टैग में विशेषताएँ हैं, तो उन्हें भी चुना जाता है। क्या केवल विशेषताओं के बिना टैग नाम का चयन करना संभव है?
linqq

अच्छा सुझाव है। इन दोनों का v.2.org पर v1.2 में ध्यान रखा जाना चाहिए। मिलान रेगेक्स अब और अधिक जटिल है तो मुझे बताएं कि क्या आपको कोई बग मिलते हैं।
ग्रेग सेक्सटन

1
अनुरोध के अनुसार, मैंने इस ftplugin को github में जोड़ा है। लिंक के लिए मेरा अद्यतन उत्तर देखें।
ग्रेग सेक्सटन

1
@GregSexton आप आधिकारिक तौर पर अब एक नायक हैं;)
18

7
बस यह पाया, अच्छा लग रहा है, लेकिन ध्यान दें कि मुझे इसे चालू करने के लिए "~ / .vimrc" पर "filetype plugin" जोड़ना था। यदि आप अपने ftplugin फ़ोल्डर में प्लगइन रखने के बाद काम नहीं कर रहे हैं, तो ऊपर अपने ~ / .vimrc में जोड़ें और आपको सभी सेट होना चाहिए।
ज्योफ

95

ग्रेग का मैचटैग.विम प्लगइन भयानक है, लेकिन मुझे कुछ और चाहिए था। मैं चाहता था कि संलग्न टैग हमेशा हाइलाइट किए जाएं, न कि जब कर्सर टैग में से एक पर हो।

तो मैंने लिखा MatchTagAlways जो सब कुछ करता है जो ग्रेग का मैचटैग करता है और हमेशा संलग्न टैग को हाइलाइट करता है, कोई फर्क नहीं पड़ता कि कर्सर कोड में कहां है। यह बिना टैग और HTML टेम्प्लेटिंग भाषाओं जैसे जिंजा या हैंडलबार्स के साथ भी काम करता है।

यहां एक GIF दिखाया जा रहा है जो इसे कार्रवाई में दिखा रहा है:

कार्रवाई में एम.टी.ए.


4
कूल समाधान- मैं शायद मूल संस्करण का उपयोग करूंगा, लेकिन मैं देख सकता हूं कि यह कैसे सहायक है। मुझे लगता है कि अधिक जवाब GIF डेमो था, यह कमाल है!
जेसन

3
आश्चर्यजनक जीआईएफ हैक के लिए जेसन, +1 से पूरी तरह सहमत हैं।
दान बेचारड

यह स्वीकृत उत्तर से बेहतर काम करता है। लेकिन मैं अभी भी अनिश्चित हूं कि ऊर्ध्वाधर स्क्रीन ऊंचाई से परे टैग को कैसे सत्यापित किया जाए। मैं स्क्रीन को कर्सर के पिछले भाग में नहीं ले जा सकता और एक विभाजित स्क्रीन दोनों विंडो में सक्रिय टैग नहीं दिखाती है।
मूलांक 077

1
आप पूर्ण किंवदंती, मेरा जीवन इससे बहुत बेहतर हो गया है ... <3
कार्ल ग्लेसर

1
यह बाउंटी जवाब से बहुत बेहतर है
मोहित

-2

मैं यहाँ विम शैली में html स्टाइल एंगल ब्रैकेट्स की तलाश में आया था। यह काम करने लगता है:

:set mps+=<:>
:help matchpairs

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