Org-Mode: วิธีสร้างการเชื่อมโยงปุ่ม "โหมด org"


11

ฉันรู้ว่าฉันสามารถใช้*bold*, /italic/, _underline_, =verbatim=, ~code~และ+strike-through+จะมีผลบังคับใช้มาร์กอัปกับข้อความorg-modeใน แต่ฉันจะสร้างการเชื่อมโยงที่สำคัญสำหรับการใช้การเปลี่ยนแปลงเหล่านี้กับพื้นที่ของข้อความได้อย่างไร ตัวอย่างเช่นหากฉันต้องการทำให้ข้อความเป็นตัวหนาจะมีวิธีที่ง่ายกว่า

  1. การนำทางไปด้านหน้าของข้อความ
  2. นำหน้าด้วย a *
  3. การนำทางไปยังจุดสิ้นสุดของข้อความ
  4. ต่อท้าย*?

ฉันไม่สามารถดูเหมือนจะหาคำสั่งใด ๆ ที่ "bolds" org-make-region-boldยืดของข้อความเช่น มีคำสั่งดังกล่าวหรือไม่?

คำตอบ:


12
  1. ทำเครื่องหมายภูมิภาคของคุณ
  2. คลิกที่C-c C-x C-f *สำหรับตัวหนา , C-c C-x C-f /สำหรับตัวเอียงฯลฯ

org-focusize เป็นฟังก์ชั่น Lisp ที่คอมไพล์แบบอินเตอร์แอคทีฟใน `org.el '

(เน้นองค์กรและ CHAR เสริม)

แทรกหรือเปลี่ยนการเน้นเช่นตัวอักษรเช่นตัวหนาหรือตัวเอียง หากมีพื้นที่ที่ใช้งานอยู่ให้เปลี่ยนพื้นที่นั้นเป็นพื้นที่เน้นใหม่ หากไม่มีภูมิภาคให้ใส่ตัวทำเครื่องหมายและวางเคอร์เซอร์ไว้ระหว่างตำแหน่ง CHAR ควรเป็นตัวทำเครื่องหมาย ถ้าเป็นช่องว่างหมายถึงการลบจุดเน้นของภูมิภาคที่เลือก หากไม่ได้รับ CHAR (ตัวอย่างเช่นในการโทรแบบโต้ตอบ) ระบบจะถามให้คุณ


8

คุณสามารถทำให้การใช้งาน1เพื่อความสะดวกในการแทรกตัวอักษรเครื่องหมายขึ้น เพิ่มรหัสต่อไปนี้ไปยังไฟล์ init ของคุณ: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ใช้คู่กับภูมิภาคที่เลือก ฉันมักจะคิดว่าคู่ไฟฟ้าสำหรับใส่คู่เท่านั้น
ephsmith

2
ปัญหาเกี่ยวกับวิธีการนี้คือ*และ/มักใช้ในเอกสารโหมดองค์กรทั่วไปเช่น*เริ่มส่วนหัว ในทำนองเดียวกันถ้าคุณพิมพ์เครื่องหมายทับในข้อความแบบยาวเช่นมีเครื่องหมายทับพิเศษที่คุณต้องลบทุกครั้ง
PlagueHammer

5

คุณสามารถใช้wrap-regionแพ็คเกจ (มีให้ใน Melpa) เพื่อตัดพื้นที่ด้วยอักขระที่คุณต้องการ หลักสูตรนี้สามารถกำหนดค่าต่อโหมดหลัก

(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

ผู้ใช้งานของ Evil สามารถใช้โหมดรองชั่วร้ายล้อมรอบเพื่อจัดการกับมาร์กอัปชนิดต่างๆ คุณสามารถเพิ่มมาร์กอัปในการเลือกภาพกับS(โดยค่าเริ่มต้น) ysหรือวัตถุข้อความในโหมดปกติด้วย

คุณสามารถเปลี่ยนหรือลบเครื่องหมายได้ แต่การเปลี่ยนแปลงหรือเครื่องหมายลบที่ไม่เป็นที่รู้จักชั่วร้ายล้อมรอบไปด้วยค่าเริ่มต้นคุณจะต้องเพิ่มให้กับความชั่วร้ายเป็นวัตถุข้อความ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.