Emacs

คำถาม & คำตอบสำหรับผู้ใช้ขยายหรือพัฒนา Emacs


2
มีเอกสาร SMIE ใดที่ชัดเจน?
ฉันใช้เวลาหลายชั่วโมงหลายชั่วโมงพยายามที่จะทำให้การเยื้องของ SMIE / ไวยากรณ์ / สิ่งต่าง ๆ ทำงานได้ มีตัวอย่างของโหมด SMIE ขนาดเล็กของเล่นหรือโครงกระดูกที่มีเอกสารประกอบเกี่ยวกับวิธีการใช้งานจริงหรือการอภิปรายใด ๆ เกี่ยวกับวิธีการใช้งานหรือไม่? สิ่งที่พูดกำหนดนิพจน์เป็นสตริงของโทเค็นที่ลงท้ายด้วยเซมิโคลอนและบล็อกเป็นนิพจน์บางอย่างระหว่างวงเล็บและไม่มีอะไรอื่น ง่ายจริงๆเหรอ? คำถามเฉพาะเมื่อใช้ smie-config-show-indent 90% ของเวลาที่ฉันได้รับการตอบสนอง ': list-intro "" -> ไม่มี' list-intro อ้างอิงตามคำจำกัดความของนิพจน์หรือรายการของนิพจน์อะไร ทำไมมันบอกว่าไม่มีและยังคงเยื้องบรรทัดต่อไปนี้? ฉันจะเปลี่ยนได้อย่างไร ประการที่สอง: มีความสัมพันธ์ใด ๆ ระหว่างไวยากรณ์และกฎระเบียบ smie ของฉันหรือไม่ ฉันคิดว่ามีเพราะทั้งคู่ผ่านเข้าไปใน smie-setup แต่ฉันไม่สามารถหาวิธีพูดว่า "เมื่อคุณเห็น 'บล็อก' เยื้องเนื้อหา 'ตัวอย่างเช่นอิงตามไวยากรณ์ที่ระบุบล็อก . ประการที่สาม SMIE ดูเหมือนจะมีกฎมากมาย "อบใน" เพียงแค่เตะมันออกไปจะช่วยให้สามารถจัดการกับวงเล็บ, วงเล็บปีกกาและวงเล็บโดยทั่วไป มีวิธีใดบ้างที่จะเห็นกฎเหล่านี้หรือแก้ไขมัน? หรือว่าตารางไวยากรณ์กำลังทำสิ่งนี้ทั้งหมดและ …
18 indentation  smie 

3
วิธีใช้ Flyspell เพื่อแก้ไขคำก่อนหน้าอย่างมีประสิทธิภาพ?
จากช่วงเวลาที่ฉันเริ่มใช้ Flyspell มันเจ็บปวดเสมอที่จะใช้ ฉันไม่ค่อยตรวจสอบบัฟเฟอร์ทั้งหมดสำหรับคำที่สะกดผิดฉันมักจะพิมพ์และเมื่อฉันเห็นคำที่ขีดเส้นใต้ฉันต้องการแก้ไขทันทีและพิมพ์ต่อไป นี่เป็นเพียงเพราะฉันกลัวที่จะลืมแก้ไขคำในภายหลังและเนื่องจากเมื่อฉันเริ่มการตรวจสอบที่ครอบคลุมของบัฟเฟอร์ iSpell ให้ผลบวกเท็จมากเกินไป ดังนั้นฉันมักจะแก้ไขคำให้เร็วที่สุดเท่าที่จะทำได้ในขณะที่พิมพ์ นี่คือฟังก์ชั่นในตัวที่ฉันรู้และเหตุผลว่าทำไมมันไม่มีประสิทธิภาพ (สำหรับฉัน): flyspell-correct-word- สิ่งนี้ผูกพันกับการคลิกเมาส์ ลืมฉันจะไม่ใช้เม้าส์ flyspell-correct-word-before-point- ฉันใช้มันบางครั้ง มันมีสองข้อเสีย: ตามค่าเริ่มต้นจะแสดงเมนู GUI ที่ใช้งานได้ยากโดยไม่ต้องใช้เมาส์และจะยุ่งยากมากเมื่อคุณมีรายการแก้ไขที่มีมากกว่า 10 รายการ มันใช้งานไม่ได้นานก่อนที่จะถึงจุด ฉันพิมพ์เร็วและเมื่อฉันเห็นคำที่สะกดผิดฉันมักจะมีหนึ่งหรือสองคำระหว่างคำที่สะกดผิดกับจุด ฉันต้องการที่จะย้ายจุดคำที่ถูกต้องกลับมา โอ้ flyspell-auto-correct-word - ดูจุดที่ 2 ↑บวกมันใช้งานไม่ได้เมื่อคุณมีรายการความสำเร็จที่ยาวนาน (เนื่องจากการปั่นจักรยาน) ถาม:ฉันจะใช้ Flyspell ได้อย่างมีประสิทธิภาพโดยใช้แป้นพิมพ์สามารถเลือกจากรายการความสำเร็จโดยไม่ต้องขี่จักรยานและมีความสามารถในการแก้ไขคำที่มากหรือน้อยกว่านั้นได้อย่างไร คำตอบที่ยอมรับได้รวมถึงแพ็คเกจที่ช่วยนำทางไปยังคำที่สะกดผิดก่อนหน้าแก้ไขและกลับหรือบางอย่างเช่นนั้นรวมถึงตัวอย่างเล็ก ๆ น้อย ๆ อาจมาจากไฟล์กำหนดค่าของคุณเองเนื่องจากฉันเชื่อว่าคนอื่น ๆ
18 flyspell 

2
เส้นทางปัจจุบันใน Dired หรือ Dired + ไปยังคลิปบอร์ด
สมมติว่าเรามีบัฟเฟอร์ Dired เปิดในบางไดเรกทอรี ฉันจะส่งเส้นทางไดเรกทอรีไปยังคลิปบอร์ดได้อย่างไร นอกจากนี้ฉันจะทำเช่นเดียวกันได้อย่างไรเมื่อเคอร์เซอร์ Dired อยู่ในไฟล์ที่ระบุโดยไม่ต้องเปิดไฟล์ก่อน
18 dired 

2
บูรณาการโหมดองค์กรกับ Google Calendar?
ดูเหมือนว่าวิธีการต่างๆของการรวมปฏิทินยังทำงานได้ไม่ดี กวดวิชาใน worgorg-icalender-export-to-icsล้าสมัยและฟังก์ชั่นที่เรียกว่าตอนนี้ อย่างไรก็ตามการใช้งานฟังก์ชั่นนี้บน.orgไฟล์จะให้.icsไฟล์ที่ไม่มีรายการใด ๆ : BEGIN:VCALENDAR VERSION:2.0 X-WR-CALNAME:Personal PRODID:-//Xiang Ji//Emacs with Org mode//EN X-WR-TIMEZONE:HKT X-WR-CALDESC: CALSCALE:GREGORIAN END:VCALENDAR ฉันเคยใช้mobileorgเพื่อซิงค์โดยตรงกับ Google Calendar บน Android อย่างไรก็ตามโครงการไม่ได้รับการบำรุงรักษามานานและเมื่อเร็ว ๆ นี้ฉันไม่สามารถซิงค์ไฟล์ org ใด ๆ ของฉันได้mobileorgเลยโดยมีข้อผิดพลาดต่างๆที่ไม่สามารถถอดรหัสได้เกิดขึ้น ทั้งหมดที่ฉันต้องการคือการซิงค์รายการเหล่านั้นกับSCHEDULEDและDEADLINEปฏิทินของฉันเพื่อให้ฉันสามารถตรวจสอบพวกเขาเมื่อฉันบนมือถือของฉัน มีคำถามที่คล้ายกันเกี่ยวกับ Reddit แต่ไม่มีวิธีการแก้ปัญหาที่กล่าวถึงได้สามารถบรรลุจุดสิ้นสุดนี้

2
วิธีออกเสียง“ magit”
ถาม:หนึ่งmagitออกเสียงอย่างไร มันเกิดขึ้นกับฉันในวันนี้ว่าฉันไม่เคยพูดว่า "จอมเวท" ออกมาดัง ๆ และฉันก็ไม่อยากที่จะหลอกตัวเองถ้าฉันต้องทำแบบนั้น ดังนั้น: gในmagitเด่นชัดเป็น: ญในขณะที่เวทมนตร์หรือ กรัมยากเช่นเดียวกับคอมไพล์ ? ฉันคิดว่าฉันมักจะพูดว่ามันเป็นjในหัวของฉัน แต่ฉันสามารถเห็นวิธีอื่นเช่นกัน (นอกเหนือจากความคล้ายคลึงกันที่โชคร้ายกับ "หนอน")
18 magit 

6
รับการแข่งขัน regexp ทั้งหมดในบัฟเฟอร์เป็นรายการ
ในเว็บไซต์ Code Golf Stack Exchange วันนี้ฉันพบคำตอบนี้ใน Clojure กับคำถาม "รับลิงก์ทั้งหมดบนเว็บเพจ" (->> (slurp "http://www.stroustrup.com") (re-seq #"(?:http://)?www(?:[./#\+-]\w*)+")) หากไม่มีมาโครสุดหรูมันก็แค่นี้: (re-seq #"(?:http://)?www(?:[./#\+-]\w*)+" (slurp "http://www.stroustrup.com")) ส่งคืนรายการ: ("http://www.morganstanley.com/" "http://www.cs.columbia.edu/" "http://www.cse.tamu.edu" ...) ฉันสามารถทำสิ่งที่คล้ายกันใน Emacs Lisp ได้หรือไม่ บางทีฟังก์ชั่นเช่น(re-seq regexp (buffer-string))นั้นกลับมาแล้ว'(firstmatch secondmatch thirdmatch ...)?

1
เป็นวิธีที่ดีที่สุดในการใช้แพคเกจท้องถิ่นใน Spacemacs อะไร
ฉันเป็นผู้พัฒนาสำหรับแพ็คเกจ (ycmd) ที่ใช้โดย spacemacs และฉันต้องการลองใช้ spacemac ด้วยเช่นกัน ฉันต้องการ spacemacs ที่จะใช้ "รุ่นพัฒนา" ของแพ็คเกจของฉันนั่นคือรุ่นที่ฉันแฮ็กในเครื่อง อะไรคือวิธีที่ดีที่สุดในการบอก spacemacs ให้ใช้แพ็คเกจรุ่นนั้นแทนที่จะเป็นแบบจาก melpa ตอนนี้ฉันกำลังใช้การ:load-pathโต้แย้งuse-packageแต่ดูเหมือนว่าจะขัดกับเมล็ดเล็กน้อย Spacemacs ให้ฉันระบุไดเรกทอรีโหลดสำหรับแพ็คเกจเฉพาะในการกำหนดค่าเลเยอร์หรือไม่?

3
กำลังอ่านรายการเก็บถาวรจดหมายใน Emacs?
บางครั้งฉันต้องการอ่านไฟล์เก็บถาวรรายการจดหมายสำหรับโครงการที่ฉันไม่ได้สมัครเป็นสมาชิก มีคลังเก็บ HTML ที่ดีทางออนไลน์ (เช่นhttps://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00347.html ) แต่ฉันไม่ชอบอ่านจดหมายในเบราว์เซอร์ มีอินเทอร์เฟซสำหรับ Emacs ในการอ่านรายการบันทึกเมลหรือไม่? ฉันใช้ mu4e แล้วเพื่ออ่านอีเมลส่วนตัวของฉันภายใน Emacs แต่ฉันก็อยากจะอ่านอีเมลของคนอื่นใน Emacs (เพื่อขยายว่าคนอื่น ๆ เหล่านี้โพสต์ในรายการส่งเมลสาธารณะ) ต้องมีโหมดสำหรับสิ่งนั้น (ฉันสงสัยว่า gnus คือคำตอบ แต่ฉันไม่เคยใช้มันเลย)
18 email 

2
มีโหมดเติมย่อหน้าอัตโนมัติเต็มรูปแบบสำหรับการแสดงความคิดเห็นรหัสหรือไม่
ฉันกำลังมองหาโหมดย่อยเพื่อให้ย่อหน้าเต็มตลอดเวลาขณะพิมพ์ (คล้ายกับaggressive-indent-modeการเยื้อง) นอกจากนี้ยังต้องมีความฉลาดพอที่จะเติมความคิดเห็นเท่านั้น (และอาจมีสตริงขึ้นอยู่กับภาษา) บางสิ่งที่ฉันได้ลองคือ: auto-fill-mode เติมโดยอัตโนมัติในขณะที่คุณพิมพ์ย่อหน้าใหม่ แต่ไม่เติมเมื่อคุณแก้ไขย่อหน้า refill-mode ทำการเติมย่อหน้าอย่างต่อเนื่อง แต่มันพยายามที่จะใส่โค้ดเข้าไปในย่อหน้าเช่นเดียวกับความคิดเห็น ฉันพยายามเพิ่มfill-paragraphลงในafter-change-functionsตะขอ แต่มันไขสกรูขึ้นมาเพื่อเลิกทำและสิ่งอื่น ๆ อีกมากมาย มีความคิดที่ดีกว่านี้ไหม?


4
วิธีการตั้งค่าหน้าต่างเริ่มต้นเมื่อเริ่มต้น?
ทุกครั้งที่ฉันเปิด Emacs ฉันมักจะตั้งค่า 3 windows โดยทำC-x 3( split-window-right) และจากนั้นC-x2( split-window-below) หลังจากนั้นฉันต้องสลับไปที่แต่ละหน้าต่างเพื่อเปิดไฟล์ที่ฉันต้องการแก้ไข ฉันจะตั้งสิ่งนี้ให้ทำโดยอัตโนมัติได้อย่างไร มีวิธีให้ Emacs กู้คืนการจัดหน้าจอเดียวกัน (windows และไฟล์) จากการใช้งานครั้งสุดท้ายหรือไม่?

9
คุณจะอธิบาย Emacs ให้กับบุคคลที่ไม่ใช่ช่างเทคนิคได้อย่างไร?
ด้วยจิตวิญญาณของฉันจะอธิบายความหมายของน้ำยางให้กับคุณยายของฉันได้อย่างไร Emacs เป็นตัวแก้ไขที่ยอดเยี่ยมสำหรับวัตถุประสงค์ที่เป็นข้อความใด ๆ - สิ่งนี้ชัดเจนสำหรับพวกเราที่ใช้มัน บ่อยครั้งที่ฉันพยายามอธิบายให้เพื่อนของฉันฟังว่าทำไมฉันจึงใช้บางอย่างที่ 'ดูเก่ามาก' และฉันพยายามหาคำตอบที่ดี ฉันไม่ได้สนใจที่จะ 'แปลง' พวกเขาให้ใช้ Emacs อย่างที่ฉันพูด - พวกเขาไม่จำเป็นต้องมีเหตุผล ฉันแค่ต้องการอธิบายว่าทำไมฉันถึงใช้ Emacs แทน Visual Studio, Sublime, Atom หรือบรรณาธิการกราฟิกที่ฉูดฉาดและมีคุณสมบัติ อะไรเป็นตัวเลือกที่ดีที่สุดในบรรดาเหล่านี้
18 learning 

2
ฉันจะสลับการแสดงรูปภาพเป็น eww โดยไม่ต้องรีเฟรชหน้าเว็บได้อย่างไร
ฉันใช้ eww เพื่อเบราส์อินเทอร์เน็ตและบ่อยกว่าที่ฉันไม่ต้องการให้โหลดรูปภาพดูเหมือนจะไม่ค่อยมีอะไรในแง่ของการปรับแต่งในตัวสำหรับ eww และไม่มีการจัดการกับรูปภาพ ขณะนี้ฉันมีการติดตั้งระบบที่ช่วยให้ผมที่จะเริ่มต้นและหยุดการแสดงภาพใน eww แต่หลังจากรีเฟรชหน้าสิ่งที่ฉันต้องการเป็นวิธีที่จะสลับภาพและปิดโดยไม่ต้องรีเฟรชหน้าเว็บ นี่คือวิธีการปัจจุบันของฉันซึ่งใช้ประโยชน์จาก internals shr-put-imageที่ eww ใช้ (defvar display-graphic-override nil "Used to override `display-graphic-p' behavior. Should either be nil, or a list where the car is the override.") (defadvice display-graphic-p (around sometimes-lie activate) "Use the override if it is non nil." (if display-graphic-override (car …
18 images  eww 

1
วิธีการขยายชื่อบัฟเฟอร์ helm ใน 'helm-buffers-list'?
หนึ่งในสิ่งที่ผมพบในที่น่ารำคาญคือขนาดของคอลัมน์แสดงชื่อบัฟเฟอร์ในemacs-helm helm-buffers-listฉันค้นหาเอกสารและไม่สามารถหาวิธีกำหนดความกว้างของคอลัมน์นี้ได้ เป็นไปได้ไหม
18 helm 

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