संगठन-मोड: "ऑर्ग मोड मार्कअप" कीबाइंडिंग कैसे बनाएं?


11

मुझे लगता है मैं उपयोग कर सकते हैं पता है *bold*, /italic/, _underline_, =verbatim=, ~code~, और +strike-through+करने के लिए मार्कअप पाठ पर लागू में org-mode। लेकिन मैं इन परिवर्तनों को पाठ के क्षेत्र में लागू करने के लिए मुख्य बाइंडिंग कैसे बना सकता हूं? उदाहरण के लिए, अगर मैं कुछ पाठ बोल्ड करना चाहता हूं, तो क्या इससे आसान तरीका है

  1. पाठ के सामने नेविगेट करना
  2. इसके साथ एक उपसर्ग *
  3. पाठ के अंत में नेविगेट करना
  4. एक appending *?

मुझे ऐसा कोई आदेश नहीं मिल रहा है जो पाठ के "बोल" को खींच सके, जैसे कि org-make-region-bold। क्या ऐसी कोई आज्ञा है?

जवाबों:


12
  1. आप क्षेत्र चिह्नित करें
  2. क्लिक C-c C-x C-f *के लिए बोल्ड , C-c C-x C-f /के लिए इटैलिक आदि

org-जोर देना, 'org.el' में एक इंटरैक्टिव संकलित लिस्प फ़ंक्शन है।

(org-ज़ोर देना और वैकल्पिक CHAR)

जोर डालना या बदलना, यानी बोल्ड या इटैलिक जैसा फ़ॉन्ट। यदि कोई सक्रिय क्षेत्र है, तो उस क्षेत्र को एक नए जोर में बदलें। यदि कोई क्षेत्र नहीं है, तो बस मार्कर वर्ण डालें और उनके बीच कर्सर रखें। CHAR का वर्ण वर्ण होना चाहिए। यदि यह एक स्थान है, तो इसका अर्थ है चयनित क्षेत्र का जोर हटा देना। यदि CHAR नहीं दिया गया है (उदाहरण के लिए इंटरेक्टिव कॉल में) तो इसके लिए संकेत दिया जाएगा।


8

आप मार्क-अप वर्णों को सम्मिलित करने की सुविधा के लिए 1 का उपयोग कर सकते हैं । निम्नलिखित कोड को अपनी init-file में जोड़ें:electric-pair-modeorg-mode

(electric-pair-mode 1)

(defvar org-electric-pairs '((?\* . ?\*) (?/ . ?/) (?= . ?=)
                             (?\_ . ?\_) (?~ . ?~) (?+ . ?+)) "Electric pairs for org-mode.")

(defun org-add-electric-pairs ()
  (setq-local electric-pair-pairs (append electric-pair-pairs org-electric-pairs))
  (setq-local electric-pair-text-pairs electric-pair-pairs))

(add-hook 'org-mode-hook 'org-add-electric-pairs)

जगह में इस के साथ, तुम सब करने की जरूरत है मार्क-अप पात्रों के साथ एक क्षेत्र रैप करने के लिए प्रेस इसी चरित्र (है *, /, =, _, ~, या +) एक बार।

एक अतिरिक्त लाभ के रूप में, Emacs स्वचालित रूप से अंक-जोड़ वाले पात्रों के मिलान जोड़े को बिंदु पर रखेगा यदि कोई क्षेत्र नहीं है। उदाहरण के लिए, दबाने *और डालने **के दो बिंदुओं के बीच बिंदु छोड़ देंगे ताकि आप बिंदु स्थानांतरित किए बिना टाइपिंग जारी रख सकें।


1 यह मोड बिल्ट-इन है; इसका उपयोग करने के लिए किसी भी तृतीय-पक्ष पैकेज को स्थापित करने की आवश्यकता नहीं है।


1
धन्यवाद! ईमानदारी से, यह सबसे साफ और सबसे सीधा जवाब है। मधुर आश्चर्य यह है कि electric-pair-modeयह जोड़ी चयनित क्षेत्र में भी लागू होती है। मैं हमेशा यद्यपि विद्युत जोड़े जोड़े रखने के लिए थे।
इफिसिथ

2
इस दृष्टिकोण के साथ समस्या यह है कि है *और /आमतौर पर ठेठ संगठन मोड दस्तावेजों जैसे में उपयोग किया जाता *एक हैडर शुरू होता है। इसी तरह यदि आप लॉन्गफॉर्म टेक्स्ट में स्लैश टाइप कर रहे हैं जैसे कि एक अतिरिक्त स्लैश है जिसे आपको हर बार हटाने की आवश्यकता होती है।
प्लेगहैमर 10

5

आप wrap-regionअपनी पसंद के किसी भी चरित्र के साथ क्षेत्र को लपेटने के लिए पैकेज (मेलपा पर भी उपलब्ध) का उपयोग कर सकते हैं । यह निश्चित रूप से प्रति प्रमुख मोड में कॉन्फ़िगर किया जा सकता है।

(require 'wrap-region)

(add-hook 'org-mode-hook #'wrap-region-mode)

(wrap-region-add-wrapper "=" "=" nil 'org-mode) ; select region, hit = then region -> =region= in org-mode
(wrap-region-add-wrapper "*" "*" nil 'org-mode) ; select region, hit * then region -> *region* in org-mode
(wrap-region-add-wrapper "/" "/" nil 'org-mode) ; select region, hit / then region -> /region/ in org-mode
(wrap-region-add-wrapper "_" "_" nil 'org-mode) ; select region, hit _ then region -> _region_ in org-mode
(wrap-region-add-wrapper "+" "+" nil 'org-mode) ; select region, hit + then region -> +region+ in org-mode

expand-regionपैकेज (Melpa में भी उपलब्ध है) इस पैकेज का पूरक है बहुत अच्छी तरह से।

प्रयोग

  • आपके द्वारा चुने गए कुंजी बंधन का उपयोग करके आप शब्द या वाक्यांश का चयन करते हैं er/expand-region
  • *उस क्षेत्र को बोल्ड (इन org-mode) मानने के लिए मारो ।

0

ईविल के उपयोगकर्ता विभिन्न प्रकार के मार्कअप से निपटने के लिए बुराई के आसपास के मामूली मोड को नियोजित कर सकते हैं । आप या तो S(डिफ़ॉल्ट रूप से) दृश्य चयन में मार्कअप को जोड़ सकते हैं या सामान्य मोड में ऑब्जेक्ट को पाठ के साथ जोड़ सकते हैं ys

आप कुछ मार्करों को बदल या हटा भी सकते हैं। लेकिन, उन मार्करों को बदलने या हटाने के लिए जिन्हें डिफ़ॉल्ट रूप से बुराई के इर्द-गिर्द नहीं जाना जाता है, आपको उन्हें टेक्स्ट ऑब्जेक्ट के रूप में ईविल में जोड़ना होगा

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