Emacs

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

2
วิธีใช้งานปฏิทิน
ฉันรู้ว่ามีปฏิทินใน Emacs และฉันต้องการใช้ หลังจากการค้นหาของ Google จำนวนมากและหลังจากอ่านคู่มือของ Emacs แล้วฉันก็ยังไม่รู้ว่าจะใช้ยังไง สิ่งเดียวที่ฉันประสบความสำเร็จคือดูบัฟเฟอร์ด้วย 3 เดือน สิ่งที่ฉันต้องการทำคือใช้มันเหมือน Google ปฏิทินเพื่อให้สามารถเขียนรายการในวันที่ฉันต้องการและบันทึกบางส่วน ฉันได้เห็นแล้วว่ายังมีตัวเลือกอื่น ๆ เช่นไดอารี่ แต่มีเพียงสิ่งเดียวที่ฉันพบคือคำอธิบายดังนั้นฉันจึงไม่รู้ว่ามันคืออะไรจริง ๆ ! มีคนใช้ Emacs เป็นปฏิทินได้อย่างไรและมีตัวเลือกอะไรบ้าง (ปฏิทินไดอารี่ ฯลฯ )
12 calendar 

2
การเชื่อมต่อ TLS กับ marmalade-repo.org:443 ไม่ปลอดภัยหลังจากอัปเดตเป็น Emacs 25
เมื่อฉันเรียกใช้M-x list-packagesฉันได้รับข้อผิดพลาดต่อไปนี้กับ Marmalade หลังจากอัพเดตเป็น Emacs 25 Certificate information Issued by: COMODO RSA Domain Validation Secure Server CA Issued to: Domain Control Validated Hostname: marmalade-repo.org Public key: RSA, signature: RSA-SHA256 Protocol: TLS1.2, key: ECDHE-RSA, cipher: AES-256-GCM, mac: AEAD Security level: Medium Valid: From 2015-07-12 to 2018-07-11 The TLS connection to marmalade-repo.org:443 …

2
ฉันจะควบคุมงานที่ทำซ้ำใน Org ได้อย่างไร
ฉันเริ่มสำรวจorg-modeเมื่อเร็ว ๆ นี้และฉันรักมัน แต่ฉันต้องการทราบว่าฉันสามารถควบคุมงานที่ทำซ้ำได้มากขึ้นเช่นถ้าฉันได้กำหนดให้ทำซ้ำทุกวันฉันจะแยกงานวันหยุดได้อย่างไร นอกจากนี้ยังมีตัวเลือกเช่นโหมดวันหยุดหรือสิ่งที่คล้ายกันซึ่งเมื่อเปิดใช้งานจะถามระยะเวลาที่ฉันจะออกไปและงานที่ทำซ้ำทั้งหมดของฉัน (ถ้าฉันมีสิ่งที่กำหนดไว้ในช่วงเวลาที่ฉันปิด) วันถัดไปหลังจากวันหยุดสิ้นสุด
12 org-mode 

4
จุด emacs (เคอร์เซอร์) ความล่าช้าในการเคลื่อนไหว
เมื่อทำงานprevious-line, C-pหรือ<up>เคอร์เซอร์กระโดดขึ้นบรรทัดโดยไม่มีปัญหาใด ๆ หรือล่าช้า เมื่อทำงานnext-line, C-nหรือ<down>เคอร์เซอร์ต้องกระโดดลงเส้น แต่มีความล่าช้าอย่างมีนัยสำคัญ เมื่อฉันกดปุ่มลงฉันไม่สามารถเห็นจุดที่กำลังเคลื่อนที่มันจะปรากฏที่ด้านล่าง ฉันวิ่ง Profiler Emacs cl-positionและดูเหมือนว่าผู้กระทำผิดเป็น สิ่งที่ได้ผลคือเป็นprevious-lineเพียงแค่เลื่อนเคอร์เซอร์ในขณะที่next-lineใช้งานฟังก์ชั่นมากมาย ปัญหาคืออะไรและจะแก้ไขอย่างไร
12 point  motion 

1
รับ backtrace จากข้อผิดพลาดทางโปรแกรม
หากมีข้อผิดพลาดจะส่งสัญญาณในรหัส Emacs Lisp และdebug-on-errorคือtฉันได้รับบัฟเฟอร์ backtrace ที่ทำให้ง่ายต่อการคิดออกที่เกิดข้อผิดพลาด อย่างไรก็ตามสำหรับข้อผิดพลาดที่เกิดขึ้นขณะประมวลผลการตอบสนองจากเครือข่ายแบบอะซิงโครนัสมันจะน่ารำคาญถ้ามีบัฟเฟอร์ backtrace ปรากฏขึ้นดังนั้นฉันอยากจะจับข้อผิดพลาดด้วยcondition-caseและเข้าสู่ระบบ ดังนั้นเมื่อฉันจัดการข้อผิดพลาดcondition-caseมีวิธีเข้าถึง backtrace ที่จุดของข้อผิดพลาดหรือไม่? การเรียกใช้backtraceฟังก์ชันรับ backtrace ของโค้ดภายในตัวจัดการซึ่งไม่ใช่สิ่งที่ฉันกำลังมองหา (condition-case e (do-something-that-might-fail) (error (message "%s" ;; This gets the wrong backtrace! (with-temp-buffer (let ((standard-output (current-buffer))) (backtrace) (buffer-string))))))

1
ความหมายของระยะเวลาใน (. 123)
ฉันเรียนรู้. /path/to/fileใน bash ใช้เพื่อเรียกใช้ไฟล์ เพิ่งออกมาจากความอยากรู้อยากเห็นฉันทำอะไรบางอย่างเช่นดังต่อไปนี้ใน Emacs (. 123) ⇒ 123 (read "(. 123)") ⇒ 123 ดูเหมือนว่า Emacs เพียงแค่อ่าน(. 123)เป็น123สิ่งที่เกิดขึ้น?
12 elisp  list  read 

2
คุณลักษณะการค้นหา / แทนที่เช่นสำหรับการแลกเปลี่ยนข้อความ
บ่อยครั้งที่ฉันพบว่าตัวเองพยายามที่จะเข้ามาแทนที่เช่นfooด้วยbarและbarด้วยfooในกันชน วิธีที่ฉันทำตามปกติคือ: 3 แบบสอบถามแทนที่: aaa -> @@@, bbb -> aaa,@@@ -> bbb ยอมแพ้ในระบบอัตโนมัติและทำการทดแทนด้วยมือ ฉันคิดว่ามันเป็นไปได้ที่จะได้รับสิ่งที่ทำงานโดยใช้,ไวยากรณ์ในquery-replace-regexpการทดสอบว่าสตริงที่ตรงกันaaaหรือbbbไม่ แต่ไวยากรณ์ที่เกิดขึ้นจะยุ่งยากเกินไปดังนั้นฉันไม่เคยลองเลย สิ่งที่ได้รับคือความธรรมดาของงานฉันคิดว่าต้องมีขั้นตอนที่ดีกว่าขั้นตอนเดียวในการทำไม่ว่าจะเป็นในตัวหรือในแพ็คเกจที่มีอยู่ มีอะไรบ้าง

1
Spacemacs: วางลงใน minibuffer
มีวิธีการวางบางสิ่งบางอย่างลงใน minibuffer หรือไม่? ตัวอย่างเช่นถ้าฉันต้องการeval-expressionและวางบางสิ่งบางอย่างในนั้น neiter C-vหรือ (ชัดp) จะทำงานอย่างไร จะต้องมีวิธี

1
วิธีเก็บย่อหน้าภายใต้รายการธรรมดาในโหมดองค์กร
ในขณะที่ย่อหน้าปกติมีการย่อหน้าอย่างมีความสุขภายใต้ไอเท็มรายการธรรมดา (ใช้แถบ [SPACE] เพื่อเยื้องบรรทัดแรกและส่วนที่เหลือพร้อม) ฉันสังเกตเห็นว่าการบล็อกโค้ดไม่ต้องการให้ความร่วมมือ มีวิธีแก้ไขปัญหานี้หรือไม่? ตอนนี้นี่คือสิ่งที่ฉันมี: - [ ] My plain list item Nicely indented paragraph, blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. #+BEGIN_SRC elisp ; Uncooperative code block -> notice …

1
วิธีการตรวจสอบวัตถุเสียงกระเพื่อมขนาดใหญ่ / ซับซ้อน
ฉันได้ทำงานกับรหัสเอ็นจิ้นการส่งออกบางส่วนขององค์กรซึ่งส่งผ่านวัตถุรายการที่ค่อนข้างใหญ่และซับซ้อน มันค่อนข้างน่าเบื่อที่จะสำรวจวัตถุโดยการอ่านผ่านการพิมพ์คำที่มีการห่อคำแบบยาวของวัตถุหรือเขียนซ้ำและประเมินค่า accessors ในบัฟเฟอร์รอยขีดข่วน ฉันและสงสัยว่ามีวิธีการที่ดีสำหรับการตรวจสอบค่าเชิงโต้ตอบ ยกตัวอย่างเช่น IDE หลายตัวที่นำเสนอค่าวัตถุในมุมมองแผนผังแบบโต้ตอบซึ่งอนุญาตให้ขยายคีย์ / ค่าแบบขยายเพิ่มขึ้น มีการแสดงวัตถุบนหน้าจออย่างต่อเนื่องและสามารถตรวจสอบได้โดยไม่ต้องกังวลเกี่ยวกับประเภทของค่าที่ดู ภาพหน้าจอแบบสุ่มของเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ Chrome เป็นภาพประกอบ: เครื่องมืออื่น ๆ แสดงค่าเป็น popovers ที่ใช้งานได้ (มีลักษณะคล้ายกันมาก) ภาพหน้าจอแบบสุ่มจาก Visual Studio: มีอะไรที่คล้ายกับ emacs lisp หรือไม่? อาจจะมีบางสิ่งใน edebug หรือให้บริการโดยแพ็คเกจอื่น หรือนี่กำลังรอการพัฒนาอยู่ใช่ไหม หมายเหตุ: ฉันค้นพบppและpp +หลังจากโพสต์คำถามนี้ไม่นาน การจัดรูปแบบนั้นมีประโยชน์อย่างมากในการนำทางของโครงสร้างวัตถุ มันช่วยประหยัดจำเป็นต้องแก้ไขprint-lengthและprint-depthค่ามากและจัดรูปแบบผลลัพธ์ในบัฟเฟอร์ที่แยกต่างหาก

1
ฉันจะเปิดใช้งานหมายเลขบรรทัด (ด้านซ้าย) ได้อย่างไรทุกครั้งเมื่อบรรทัดเป็นบรรทัดตรรกะยาว
ผมได้เปิดการใช้งานเช่นเดียวกับlinum-mode truncate-linesทำงานได้ดีตราบใดที่ Emacs แสดงคอลัมน์ 0: หมายเลขบรรทัดแสดงทางซ้าย (ตกลง) แต่ทันทีที่หน้าต่างถูกเลื่อนในแนวนอนหมายเลขบรรทัดจะหายไป: หมายเลขบรรทัดจะไม่ปรากฏที่ด้านซ้าย ฉันจะทำอย่างไรเพื่อให้หมายเลขบรรทัด (ด้านซ้าย) ยังคงปรากฏเมื่อฉันย้ายไปตามแนวตรรกะยาว ๆ ?

3
Backspace โดยไม่ต้องเพิ่มเพื่อฆ่าริง
การใช้ Crtl + Backspace หรือ Ctrl + Del จะเพิ่มข้อความที่ถูกลบไปยัง kill ring ฉันจะป้องกันไม่ให้เกิดเหตุการณ์เช่นนี้ได้อย่างไร ฉันไม่จำเป็นต้องส่งข้อความทุกชิ้นไปยังแหวนฆ่าเมื่อถูกลบ คำถามด้าน: วัตถุประสงค์ของการตั้งค่าเริ่มต้นนี้คืออะไร? :)

1
แสดงขนาดโฟลเดอร์แบบเรียกซ้ำในสายงานในไดเรคทอรี?
ฉันต้องการแสดงขนาดแบบเรียกซ้ำ (ค่าที่จะรายงานโดยdu) ของเนื้อหาของโฟลเดอร์ในบรรทัดในบัฟเฟอร์ dired เป็นคอลัมน์เพิ่มเติมหรือแทนที่ขนาดไฟล์ไดเรกทอรี เป็นไปได้อยู่แล้วกับ dired / dire + หรือแพ็คเกจที่เกี่ยวข้อง? ฉันได้ทำการขุดและพบการสนทนาของฟังก์ชั่นประเภทนี้ แต่ไม่มีอะไรที่รวมข้อมูลขนาดนั้นกลับเข้าไปในส่วนต่อประสานกราฟิกของ dired https://www.emacswiki.org/emacs/DiredGetFileSize /superuser/462079/how-can-i-display-folder-sizes-in-emacs-dired
12 dired  files 

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

1
จัดแนวคอลัมน์ในตารางโหมดองค์กรด้วยแบบอักษรญี่ปุ่น
ฉันจะผสมภาษาญี่ปุ่นและภาษาอังกฤษในตารางโหมดองค์กรเดียวกัน (ที่ใช้แบบอักษรที่มีความกว้างคงที่) ได้อย่างไร สิ่งที่ต้องการ: | mmmmmm | | | はどうデシウ | | | ハ ー フ | ハ ー フ | จะไม่จัดแนว Emacs นับตัวอักษรญี่ปุ่นเป็นหนึ่งเดียวเมื่อจริง ๆ แล้วพวกมันจะใหญ่กว่า 10% สามารถตั้งค่าความกว้างของคอลัมน์เป็นพิกเซลได้หรือไม่ ฉันรู้ว่า <10> จะตั้งค่าความกว้าง แต่ไม่ได้ช่วยอะไรเพราะมันนับเป็นตัวอักษรความกว้างคงที่ ปัญหาคือโดยพื้นฐานแล้ว emacs จัดเรียงคอลัมน์ (โดยใช้ความกว้างของแบบอักษร)

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