มีตัวเลือกอะไรบ้างในการเขียนข้อความที่ไม่ใช่การเขียนโปรแกรมที่ดีกว่าใน Emacs?


58

นี่คือทางแยกจากคำถามมีตัวเลือกอะไรบ้างในการตรวจสอบการสะกดคำใน Emacs

เพราะขณะนี้ฉันทำงานที่ไม่ใช่การเขียนโปรแกรมจำนวนมากใน Emacs ฉันจึงสงสัยว่า Emacs สามารถช่วยเหลือฉันในการเขียนข้อความที่ดีขึ้นได้ไหม

ดังนั้นขอเปิดด้วยวลีคำถามบังคับ

มีแพ็คเกจ / ไลบรารี่ / บิวด์อินที่ได้รับการปรับแต่งมาเพื่อช่วยฉันในการเขียนข้อความที่ถูกต้องและกระชับมากขึ้นใน Emacs หรือไม่?

โดยเฉพาะอย่างยิ่ง

  • สำหรับการตรวจสอบการสะกดไวยากรณ์ สิ่งที่คล้ายกับ (แต่หวังว่าจะดีกว่า) ตัวตรวจการสะกดคำ MS Word ซึ่งจะตรวจสอบว่าประโยคนั้นผิดหรือไม่ทางไวยากรณ์

  • สำหรับการปรับปรุงการใช้ถ้อยคำและสำนวนที่คุณใช้ บางสิ่งในแนวของDead Poets Society :

    ดังนั้นหลีกเลี่ยงการใช้คำว่า 'มาก' เพราะขี้เกียจ ผู้ชายไม่เหนื่อยมากเขาเหนื่อยล้า อย่าใช้ความโศกเศร้าจงใช้อารมณ์เสีย [ ... ]

  • สำหรับสิ่งที่ฉันลืมหรือไม่ทราบ แต่คุณสามารถนึกถึง (การใช้ถ้อยคำ / การปรับปรุงภาษาที่เกี่ยวข้อง duh ... )


“ สิ่งใดที่ฉันลืม” นั้นกว้างเกินไป “ การปรับปรุงการใช้ถ้อยคำของคุณ” นั้นก็คลุมเครือเช่นกัน
Gilles

ดังนั้นฉันจึง จำกัด "อะไร" ที่มีส่วนในวงเล็บไว้ ... นอกจากนี้ฉันไม่เห็นด้วยวิธีที่เป็นไปได้ "การปรับปรุงคำพูดของคุณ" ที่เป็นไปได้ในบริบทของการเขียนที่คลุมเครือ
elemakil

1
การปรับปรุงการใช้ถ้อยคำของคุณเป็นต้นเป็นเรื่องนอกเรื่องที่นี่ฉันควรคิด มีไซต์ SE สำหรับการเรียนรู้การเขียนที่ดีกว่า คำถามของคุณควรถูก จำกัดว่า Emacs สามารถช่วยคุณเขียนและแก้ไขข้อความได้อย่างไร และนั่นก็กว้างมาก - มันก็ถือว่ากว้างเกินไปสำหรับคำถามเดียว คุณนึกภาพออกไหมว่าคำถามทั้งหมดเกี่ยวกับวิธีใช้การเขียนรวมอยู่ในคำถามเดียวของคุณหรือไม่? คุณจะดีกว่ามากที่จะมุ่งเน้นไปที่สิ่งหนึ่งในแต่ละครั้ง และคนอื่น ๆ ก็จะได้ประโยชน์จากสิ่งนั้นเช่นกัน
ดึง

1
ตราด Unix มีstyleและdictionและผมรางตระหนักถึงความพยายามที่จะreimplement พวกเขาเป็นโอเพนซอร์ส หากเครื่องมือใช้งานได้จริงการเพิ่ม Emacs wrapper ควรจะเป็น snap
tripleee

2
คอมพิวเตอร์ไม่สามารถปรับปรุงการเขียนของคุณได้อย่างมีประสิทธิภาพอย่างน้อยในปัจจุบัน Geoffrey K. Pullum และ Mark Liberman เขียนเกี่ยวกับสิ่งนี้มากมายเช่นดูitre.cis.upenn.edu/myl/languagelog/archives/005061.htmlหรือlanguagelog.ldc.upenn.edu/nll/?p=10416 As ตัวอย่างของความโง่นี้ฉันติดตั้งwritegood-modeและดึงในย่อหน้าแรกของ "ชายชราของฉัน" (จากลิงค์ด้านบน) writegood-modeระบุว่า "ชายชราของฉันถูกตัดออกเพื่อเป็นคนอ้วน" ในฐานะคนเฉยเมยซึ่งมันไม่ใช่ ระบบเหล่านี้ a) ทำงานได้ไม่ดีและ b) ใช้กฎที่ไม่ดีเกี่ยวกับการเขียนที่ดี
Erik Hetzner

คำตอบ:


64

โดยส่วนตัวฉันจะเขียนสิ่งต่าง ๆorg-modeด้วยflyspell-modeและlangtool...

org-modeยอดเยี่ยมสำหรับการพิมพ์เอกสารทุกประเภทได้อย่างรวดเร็วใน Emacs, flyspell ดูแลการสะกดคำและ langtool กังวลเกี่ยวกับไวยากรณ์ ทุกอย่างสามารถปรับแต่งได้อย่างสูงดังนั้นคุณจึงสามารถปรับแต่งอะไรก็ได้ตามเนื้อหาของหัวใจ

นี่คือการพิมพ์ขนาดเล็กอย่างรวดเร็วในโหมด org ด้วยการเปิดใช้งาน langtool และ flyspell ไม่มีอะไรพิเศษเกินไป

หากฉันวิ่งlangtool-correct-bufferเหมือนที่แนะนำข้อผิดพลาดทางไวยากรณ์ใด ๆ ที่ langtool ที่พบจะถูกไฮไลต์ทีละคำพร้อมคำแนะนำในบัฟเฟอร์ด้านล่าง ฉันสามารถเลือกผู้สมัครใด ๆ เหล่านี้ด้วยปุ่มตัวเลขที่เกี่ยวข้องหรือเพียงแค่ข้ามพวกเขาด้วย [Space bar]

นอกจากนี้ flyspell ยังให้ฉัน [คลิกกลาง] คำที่สะกดผิดเพื่อดูคำแนะนำการสะกดคำ

org-modeมีรูปแบบการส่งออกเป็นตัน คุณสามารถส่งออกเอกสารเป็น PDF, ODT หรือแม้แต่เป็น HTML (คุณสามารถส่งออกโดยใช้C-c C-eในorg-mode)

ตอนนี้ฉันได้เผยแพร่ผลงานชิ้นเอกของฉันเป็น PDF โดยใช้ LaTeX นี่คือสิ่งที่ฉันเห็นเมื่อฉันเปิดมันในโปรแกรมดู PDF ...

มันอาจเป็นวิธีที่ง่ายที่สุดในการสร้างเอกสารที่ดูดีในสภาพแวดล้อมการเขียนที่ค่อนข้างดีใน Emacs ...

ข่าวดีก็คือorg-modeและflyspell-modeจะรวมอยู่ในค่าเริ่มต้นกับ Emacs เวอร์ชันส่วนใหญ่ ข่าวร้ายคือ langtool ไม่ได้และมันค่อนข้างใหญ่และมันต้องใช้ Java ... แต่ถ้านั่นไม่ทำให้คุณแย่ลง:

Langtoolเป็นตัวตรวจสอบไวยากรณ์ที่มักจะจับคู่กับ Openoffice หรือ Libreoffice เครื่องมือนี้เป็นอรรถประโยชน์บรรทัดคำสั่งที่เรียบง่ายดังนั้นจึงค่อนข้างง่ายที่จะเชื่อมต่อกับโปรแกรมอื่น บางคนเชื่อมต่อกับ Emacs

เพื่อเก็บไว้ใน Emacs คุณสามารถติดตั้งได้กับM-x package-install langtool... หรือถ้าคุณไม่ได้มี Repos ที่เหมาะสมตั้งค่า (ผมใช้คนที่แนะนำที่นี่ .) คุณจะได้รับ.elไฟล์และรวมไว้ด้วยตนเองจากที่นี่

ขณะนี้ฉันได้ติดตั้งตะขอโหมด org ของฉันไว้เช่นนี้ (ตัดส่วนที่ไม่เกี่ยวข้องออก)

(add-hook 'org-mode-hook (lambda ()
   (progn
     ;; Snipped
     (auto-fill-mode t)

     ;; Spelling
     (flyspell-mode t)

     ;; Grammar
     (require 'langtool)
     (setq langtool-language-tool-jar "/path/to/LanguageTool.jar"))))

เห็นได้ชัดว่าคุณต้องการแทนที่/path/to/LanguageTool.jarด้วยเส้นทางจริงในระบบของคุณ มันเป็นไฟล์. jar แบบพกพาดังนั้นตำแหน่งจึงไม่สำคัญ

นอกจากนี้ไม่เหมือนflyspell-modeกัน langtool ต้องการให้คุณเรียกใช้M-x langtool-checkเมื่อคุณต้องการตรวจสอบไวยากรณ์บัฟเฟอร์ ... ดังนั้นคุณจึงไม่มีการตรวจสอบไวยากรณ์แฟนซีในขณะที่คุณพิมพ์

org-modeสามารถทำอะไรได้มากมายและสามารถใช้ในการเขียนไฟล์บันทึกย่อเล็ก ๆ น้อย ๆ เรียงความสมบูรณ์ด้วยกราฟิกแฟนซีบทความหนังสือคุณตั้งชื่อ ... แต่เนื่องจากมันสามารถทำได้มากมันเป็นการยากที่จะรู้ว่าจะเริ่มจากตรงไหน ผมพบว่ามันเป็นวิธีที่ง่ายที่สุดในการเรียนรู้โดยเริ่มต้นด้วยวิธีการที่เป็นไปได้คุณสามารถส่งออกorg-modeไฟล์หลังจากที่คุณได้เรียนรู้พื้นฐาน ... เว็บไซต์ของ Org-modeนั้นมีประโยชน์และให้ข้อมูลอย่างมากและมีความช่วยเหลือมากมายในหน้าข้อมูลด้วย ( C-h i, m Org Mode)

โชคดี..! และหวังว่านี่จะช่วยได้


มันเยี่ยมมาก ! langtoolดูมีแนวโน้มมากอย่างแน่นอน
elemakil

1
มีวิธีการกำหนดค่าlangtoolให้ตระหนักถึง(La)TeXไวยากรณ์หรือไม่ ฉันจะบอกว่าประมาณครึ่งหนึ่งของข้อผิดพลาดเป็นผลบวกผิดที่เกิดจาก(La)TeXไวยากรณ์ของซึ่งน่ารำคาญเล็กน้อย
elemakil

1
น่าเสียดายไม่ใช่เพื่อความรู้ของฉัน ฉันมักจะเขียนสิ่งของของฉันในองค์กรธรรมดาที่มีน้ำยางข้นน้อยมากยกเว้นคำสั่งภายในองค์กรของ LaTeX (ชอบ#+LaTeX_CLASS_OPTIONS: [hidelinks,11pt]) ด้วยวิธีนี้ฉันไม่มีอะไรที่langtoolจะมารับ นั่นไม่ได้เป็นการบอกวิธีการเปลี่ยนตำแหน่งที่ langtool ไม่มีอยู่จริง แต่เพียงว่ามันเกินความรู้เฉพาะของฉันในเรื่อง ขออภัย .. !
Archenoth

15

การเขียนหมวดหมู่ EmacsWiki เป็นจุดเริ่มต้น

มันแสดงรายการไลบรารีหลายสิบที่สนับสนุนการเขียนข้อความโดยใช้ Emacs พร้อมคำอธิบายแบบหนึ่งบรรทัดและลิงก์ไปยังหน้ารายละเอียด

ไม่มีความหมายในการแสดงข้อมูลดังกล่าวอีกครั้งที่นี่ - ลองดูที่นั่น

(แต่คนอื่น ๆ ที่นี่อาจมีคำแนะนำเฉพาะ)

ฉันจะพูดถึงเฉพาะหน้าย่อยThesauri และคำพ้องความหมายซึ่งมีลิงก์เพิ่มเติมไปยังข้อมูลเกี่ยวกับห้องสมุดที่รองรับการค้นหาคำพ้อง


คำแนะนำเหล่านั้นและประสบการณ์ส่วนตัวที่มีตัวเลือกที่แตกต่างกันเป็นสิ่งที่ฉันสนใจส่วนใหญ่อยู่ใน :-)
elemakil

ละเอียด. คุณควรพบสิ่งนั้นมากมายในหน้า wiki สำหรับหัวข้อนี้
ดึง

@Drew: langtool หายไปบนหน้า emacswiki
โทเบียส

@tobias: ใช่โปรดเพิ่ม langtool ลงในรายการบน wiki (ทุกคนสามารถแก้ไข wiki ได้ - เป็น wiki ;-))
ดึง

เสร็จสิ้น BTW: คุณอาจจะได้ดูที่บางคน (ที่น่าสนใจ IMHO) dired คำถาม ขอบคุณล่วงหน้า.
Tobias

15

ฉันเขียนนวนิยายโดยใช้ Emacs และได้พัฒนาเวิร์กโฟลว์เมื่อเวลาผ่านไปตามข้อดีที่เป็นเอกลักษณ์ของมัน (ตัวอย่าง: หนังสือเล่มล่าสุดของฉันถูกสร้างขึ้นแต่งและเรียบเรียงโดย Emacs) ที่กล่าวว่ามันไม่ใช่เส้นทางที่ปราศจากปัญหา

  • org โหมด

    Org-mode คือเหตุผลที่ฉันเริ่มใช้ Emacs ความสามารถในการพับและขยายส่วนของต้นฉบับ ~ 50K คำมีค่า ก่อนหน้านี้ฉันเคยใช้โปรแกรมScrivenerแต่กลับไม่สนใจกับ.scrivไฟล์ที่ขยายตัวและไม่แสดงข้อความ องค์กรโหมดยังมีความสามารถในการย้ายบท ( treesและsubtrees) ไปรอบ ๆ ได้อย่างง่ายดาย (ด้วยM-arrow_key)

  • การจัดการข้อความ

    นอกจากนี้มากมายเหลือเฟือ emacs ของข้อความการค้นพบเฉือนและสาธารณูปโภควาง ( C-s, M-yฯลฯ เป็นต้น) ผมใช้โหมดพระเจ้าและ โหมด avyที่จะหาทางของรอบบัฟเฟอร์ การแก้ไข modal ที่เปิดใช้งานโดยอดีตช่วยด้วยโรคข้ออักเสบของฉัน ด้านหลังเป็นวิธีที่รวดเร็วที่สุดในการสำรวจหน้าจอด้วยการกดแป้นเพียงไม่กี่ครั้ง (โดยปกติจะอยู่ในแถวโฮม)

  • Flyspell

    นี่เป็นเครื่องตรวจตัวสะกดที่เพียงพออย่างสมบูรณ์ที่ให้ประโยชน์กับฉันทุกวัน

  • Magit

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

  • สิ่งที่ต้องทำและแสดงความคิดเห็น

    องค์กรโหมดมีความสามารถในการกำหนดงานที่ต้องทำ ด้วย MS ขนาดใหญ่อาจมี 40 อย่างหรือมากกว่านั้นฉันต้องจำไว้ตั้งแต่เล็กจนถึงใหญ่ เหล่านี้สามารถระบุและจัดอันดับแม้จะมีคำหลักสิ่งที่ต้องทำ นอกจากนี้บันทึกต่าง ๆ และความคิดพาดหัวข่าวสามารถต้นด้วย ซึ่งจะไม่ส่งออกเมื่อผมส่งไฟล์ไปCOMMENT.odt

  • แยกหน้าต่าง

    ฉันมักจะทำงานกับไฟล์ที่มีหน้าต่างแยกแสดงสองตำแหน่งในเรื่อง ฉันมักจะเปรียบเทียบหนึ่งที่ตั้งกับที่อื่น ในขณะที่ฉันทำสิ่งนี้ด้วยsplit-window-right( C-x 3) แต่ฉันเพิ่งเปลี่ยนเป็นclone-indirect-buffer-other-window( C-x 4 c) ข้อดีของที่นี่คือถ้าฉันเปลี่ยนสถานะการพับของหน้าต่าง A จะไม่เปลี่ยนสถานะการพับของหน้าต่าง B

  • ข้อเสียอย่างหนึ่ง

    การเผยแพร่วรรณกรรมทำงานบน MSWord มันเป็นไปได้ที่จะได้รับจาก .orgการ.docแต่ไม่สำหรับฉันง่าย ปัจจุบันผมใช้ Emacs' org-exportไปยังไฟล์พอร์ต.odtซึ่งผมแก้ไขด้วย LibreOffice ฉันด้วยตนเองหรือด้วยแมโครให้จัดรูปแบบที่จำเป็นสำหรับโลกการเผยแพร่ที่มีขนาดใหญ่เท่าที่ฉันรู้แล้วบันทึกไฟล์ไปที่.docการจัดรูปแบบไม่ซับซ้อน แต่จำเป็นต้องใช้

    กระบวนการบรรณาธิการเกี่ยวข้องกับการไปมามากซึ่งหมายความว่าฉันส่งออกไปยัง Libreoffice และนำเข้าสู่ Emacs อีกครั้ง ในตอนท้าย Emacs มาโครสามารถดึงเครื่องหมายดอกจันสำหรับหัวข้อของฉันและยืดสมาร์ทโควตของ Word ให้ตรง ปัจจุบันฉันไม่มีวิธีแก้ปัญหาที่ดีสำหรับตัวเอียง บางครั้งฉันแนะนำข้อผิดพลาด ถ้า Emac ไม่ใช่สภาพแวดล้อมการแก้ไขข้อความที่น่าทึ่งฉันจะไม่ประสบกับปัญหานี้

    Mickey Petersen มีบล็อกโพสต์ที่ยอดเยี่ยมที่อธิบายขั้นตอนการทำงานของเขาเองสำหรับหนังสือMastering Emacsซึ่งใช้diffบัฟเฟอร์ในการเรียงลำดับการเปลี่ยนแปลงและความคิดเห็น (นอกเหนือจากเคนปัจจุบันของฉัน) และยังต้องการให้ผู้แก้ไข (ซึ่งฉันได้รับเมื่อย้อนกลับมาลองใหม่)

  • ข้อสรุป

    Emacs เป็นเครื่องมือที่มีประสิทธิภาพที่สุดที่ฉันค้นพบในการเขียนและแก้ไขนวนิยาย นอกจากนี้ยังมีโหมดมากมายที่อาจใช้กับนักเขียนร้อยแก้วประเภทอื่น (เช่น org2blogสำหรับการเขียนและโพสต์บล็อก Wordpress และ AUCTeXสำหรับการเขียนไฟล์ LaTeX)

    ฉันชอบที่จะเห็นอนาคตที่มีการเชื่อมโยงระหว่าง.txtและ.docเรียบเนียนขึ้นสำหรับชนิดของการเขียนที่ฉันทำ ซึ่งจะรวมถึง:

    • การตั้งค่า Emacs ให้ใช้ระยะห่างสองเท่าหรือเว้นวรรคเดียวเมื่อมีการร้องขอ
    • การแทรกตัวแบ่งหน้าด้วยตนเอง (ตัวอย่างเช่นหลังจากหน้าชื่อเรื่อง)
    • ตัวเอียงที่ไม่ผ่านเครื่องหมายวรรคตอน
    • การสร้างส่วนหัวที่เรียบง่ายและถูกต้องเหมาะสมบนทุกหน้ายกเว้นชื่อ

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

ในขณะที่ผ่านมาฉันบังเอิญที่โพสต์กลุ่มข่าวสารโดย rms หัวข้อ "Emacs as word processor":

25 ปีที่แล้วฉันหวังว่าเราจะขยาย Emacs เพื่อทำการประมวลผลคำ WYSIWG นั่นคือเหตุผลที่เราเพิ่มคุณสมบัติข้อความและแบบอักษรความกว้างของตัวแปร อย่างไรก็ตามยังจำเป็นต้องมีคุณสมบัติเพิ่มเติมเพื่อให้บรรลุเป้าหมายนี้

ผู้คนช่วยเริ่มใช้งานฟีเจอร์ที่จำเป็นได้ไหม?

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


1
undoc อาจช่วยคุณได้ไหม? ผู้นำเข้า doc สำหรับ emacs emacswiki.org/emacs/UnDoc
Jason Mirk

ฉันจะดู ฉันเคยใช้คำต่อต้านก่อนหน้านี้และมันทำงานได้ดีกว่ามันคุ้มค่าเพราะการจัดรูปแบบการเปลี่ยนแปลงที่เกิดขึ้นระหว่างการแยก ขอบคุณสำหรับคำแนะนำ!
Steven Arntson

11

หมุนปิดของคำตอบต้นฉบับให้กับคำถามที่เชื่อมโยง

  • การตรวจสอบไวยากรณ์: ฉันยังไม่ทราบถึงตัวแยกวิเคราะห์ไวยากรณ์เฉพาะสำหรับ emacs ฉันจะพูดถึงที่writegood-modeมีอยู่ใน MELPA ซึ่งเน้นคำพังพอนและเสียงเรื่อย ๆ ในบัฟเฟอร์ มันทำให้คุณครึ่งทาง

    อีกไลบรารีที่มีประโยชน์อาจเป็นประโยชน์dupwords.elซึ่งสามารถเน้นถ้าคำเฉพาะ (โดยทั่วไปเป็นคำนามและคำสรรพนาม) ถูกใช้มากกว่าหนึ่งครั้งในประโยคเดียวกัน นี่เป็นเรื่องทั่วไปมากกว่าการค้นหาคำที่อยู่ติดกันซึ่งสามารถจัดการได้โดย flyspell

  • สิ่งอื่น: การแก้ไขภาษาโดยทั่วไปเป็นปัญหาที่ยาก ที่ถูกกล่าวว่าหากมีโปรแกรมภายนอก / สคริปต์ในพื้นที่นี้มันมักจะง่ายต่อการติดต่อกับ emacs

หากคุณใช้LaTeXในการเขียนฉันพบว่าสคริปต์ ruby ​​ต่อไปนี้มีประโยชน์มากสำหรับการตรวจสอบรูปแบบและความสอดคล้อง ฉันแค่เรียกคำสั่งเชลล์จาก minibuffer เอง ผู้ชมที่มีความสามารถในการค้นหาแบบไปข้างหน้าและแบบผกผันก็มีค่าเช่นกันเมื่อพิสูจน์อักษร บน MS Windows ฉันใช้sumatra-forwardแพคเกจจาก ELPA สำหรับการค้นหาแบบส่งต่อในตัวดู SumatraPDF

  1. ตรวจสอบสไตล์โดย Neil Spring
  2. ยัติภังค์ที่สอดคล้องกันโดย Neil Conway

0

เคล็ดลับนี้จะช่วยให้คุณสามารถจัดรูปแบบคำ / ภูมิภาค (ตัวหนาตัวเอียงขีดเขียน แต่ยัง parens, เครื่องหมายคำพูด ฯลฯ ) ด้วยการกดแป้นเดียวแทนที่จะเพิ่ม ' /', ' *' ฯลฯ ที่จุดเริ่มต้นและตอนท้ายของ ข้อความของคุณ. ฉันพบว่ามีประโยชน์เมื่อเขียนเช่นเมื่ออ่านซ้ำและปรับแต่งข้อความที่เขียน:

(defun xa-bold (&optional char)
  (interactive)
  (unless (region-active-p)
    (backward-word)
    (mark-word))
  (if (region-active-p)
      (insert-pair 1 ?* ?*)
    (insert "//")
    (backward-char))
  (forward-word)
  (right-char))

รหัสนี้ใช้สำหรับรับตัวหนา / ภูมิภาค สิ่งที่คุณต้องทำคือแทนที่ตัวแรกและตัวที่สอง*ใน(insert-pair 1 ?* ?*)รูปแบบที่คุณต้องการ สำหรับ parens ไปด้วย (insert-pair 1 ?\( ?\))

เพียงผูกกุญแจไว้กับมันและคุณทำเสร็จแล้ว:

 (define-key org-mode-map (kbd "M-&") 'xa-bold)

หมายเหตุ: ฉันรู้สึกอิสระที่จะเพิ่มการเปลี่ยนแปลงเล็กน้อยในรหัสที่ฉันขโมยมาที่นี่ ฉันเพิ่ม(forward-word) (right-char)ในตอนท้ายของฟังก์ชั่นเพราะเมื่อคุณเขียนและต้องการจัดรูปแบบคำคุณต้องการที่pointจะไปตามตัวอักษรการจัดรูปแบบเพื่อให้คุณสามารถเขียนหลังจาก แต่คุณอาจต้องการลบ(right-char)สำหรับ parens หรือเครื่องหมายคำพูดเพื่ออยู่ภายใน paren หรือ quote และเขียนต่อไป

ฉันไม่ได้เป็นโปรแกรมเมอร์ แต่เป็นเพียงแค่ผู้ที่ชื่นชอบ emacs เล่นในบางครั้งด้วยรหัสที่มีอยู่ และฉันต้องการให้ emac กลายเป็นโปรแกรมประมวลผลคำของฉัน!

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