आप वैरिएबल ispell-parser
वैल्यू 'tex
पर सेट कर सकते हैं ताकि फ्लाईस्पेल टीएक्स अनुक्रमों को अनदेखा कर दे। ऐसा करने के लिए, आप इसे मैन्युअल रूप से सेट कर सकते हैं या तो एक बफर में तो जैसे:
M-: (setq 'ispell-parser 'tex)
या आप एक छोटे से समारोह है कि क्या करेंगे कि आप के लिए लिखें। अपने .emacs फ़ाइल में निम्न रखो:
(defun flyspell-ignore-tex()
(interactive)
(set (make-variable-buffer-local 'ispell-parser) 'tex))
तो आप अभी भी इसे मैन्युअल रूप से आह्वान कर सकते हैं,
M-x flyspell-ignore-tex
का उपयोग कर या आप एक हुक स्वचालित रूप से उस फ़ंक्शन को कॉल जोड़ सकते हैं जब भी आप एक के एक फ़ाइल को संपादित खास प्रकार का। आप अपने परिभाषित फ़ंक्शन को अपने auto-mode-alist
पर जोड़कर बाद वाले करेंगे। अपने फ़ाइल नाम आम तौर पर ".rst" के साथ समाप्त कहो, तो अपने .emacs फाइल करने के लिए इस पंक्ति जोड़ें:
(add-to-list 'auto-mode-alist '("\\.rst$" . flyspell-ignore-tex))
अपने प्रश्न के दूसरे भाग के लिए के रूप में: flyspell मोड बनाने जैसे, जैसे बड़े क्षेत्रों, उपेक्षा, reST टिप्पणियां, आसानी से प्राप्त नहीं किया जा सकता है। यह स्पष्ट हो जाता है जब आप फ्लाईस्पेल के तरीके के बारे में सोचते हैं: यह शब्द-दर-शब्द आधार पर पाठ की जांच करता है। इसके लिए, flyspell-word
केवल एक शब्द को देखता है जब यह पृष्ठभूमि में चल रही एक आईस्पेल प्रक्रिया को भेजता है। Ispell प्रक्रिया शब्दकोश लुकअप करता है और देता है कि वर्तमान शब्द सही है या नहीं। यदि flyspell-word
को प्रत्येक बार जांचना था कि वर्तमान शब्द किसी टिप्पणी या अन्य क्षेत्र का हिस्सा है, जिसे चेक नहीं किया जाना चाहिए, तो यह धीमा होगा, क्योंकि इसमें बफर के माध्यम से काफी कुछ खोजना शामिल होगा।
अब निश्चित रूप से, कोई इसे थोड़ा सा समझदार तरीके से देख सकता है और पहले गैर-टिप्पणी क्षेत्रों आदि को ढूंढ सकता है और फिर उन क्षेत्रों में केवल शब्द-दर-शब्द जांच कर सकता है जो कि उन क्षेत्रों के बाहर हैं - लेकिन दुर्भाग्यवश, फ्लाईस्पेल को लागू करने का तरीका नहीं है।
यदि आप "फ्लाई" भाग के बिना कर सकते हैं, हालांकि, इस्पेल-मोड में एक बफर के किन क्षेत्रों को कस्टमाइज़ करने के लिए एक तंत्र है। यह चर ispell-skip-region-alist
के माध्यम से किया जाता है। लेकिन हालांकि फ्लाईस्पेल-मोड ispell-mode से काम करता है, क्योंकि उस चर के ऊपर उल्लिखित कारणों का उपयोग फ्लाईस्पेल-मोड द्वारा नहीं किया जाता है।
थॉमस, बहुत बहुत धन्यवाद! मैंने अतीत में ispell-mode का उपयोग किया है, लेकिन इस समय फ्लाईस्पेल मुझे बेहतर बनाता है। फिर भी, 'ispell-skip-region-alist' दस्तावेज़ पढ़ने के बाद, मुझे लगता है कि मुझे टिप्पणी के अंत का पता लगाने के लिए एक फ़ंक्शन प्रोग्राम करना होगा। मैं अभी तक Emacs Lisp से परिचित नहीं हूँ। वैसे भी 'ispell-parser' तरीका अभी भी सहायक है। हो सकता है कि मैं यह जांच सकूं कि इसका उपयोग कैसे किया जा सकता है और अपना खुद का आईपेल-पार्सर ट्वीक बना सकता है। – manu
मनु, आपको शायद टिप्पणी की शुरुआत और अंत का पता लगाने के लिए एक लिस्प फ़ंक्शन प्रोग्राम करना पड़ेगा। आम तौर पर एक नियमित अभिव्यक्ति पर्याप्त होनी चाहिए, जो शुरुआत से मेल खाता है और अंत में मेल खाता है। आप दोनों को कोष्ठक में डाल देते हैं और इसे 'आईस्पेल-स्किप-एरिया-एलीस्ट' में जोड़ते हैं (मैंने कल इसे आजमाया है, वास्तव में यह मुश्किल नहीं है) और एक अच्छा मौका है कि 'आरएसटी मोड' में पहले से ही रेगेक्सप्स हैं कहीं तलाश रहे हैं। – Thomas
पुन: संरचित पाठ में कोड खंड का अंत पता चला है जब इंडेंटेशन स्तर कम हो गया है। तो regexp मदद नहीं करेगा। शुभकामनाएं, मनु। – manu