Emacs

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

4
วิธีโหลดแพคเกจที่ติดตั้งไว้เพียงชุดย่อย
ฉันพบข้อผิดพลาดที่เกี่ยวข้องกับการโต้ตอบระหว่างแพ็คเกจต่างๆ ในการรายงานข้อผิดพลาดฉันต้องจัดทำสูตรอาหารที่สามารถทำซ้ำได้ซึ่งแสดงถึงปัญหา ต้องมีการโหลดแพ็คเกจที่เหมาะสม แต่ไม่มีอะไรอื่นจาก init ของฉันและไม่มีแพ็คเกจอื่น วิธีที่ดีที่สุดในการทำเช่นนี้คืออะไร? UPDATE เพื่อชี้แจงฉันคุ้นเคยกับแนวคิดของการกลั่นกรองผ่าน. emacs ของฉันในการค้นหาแบบไบนารีเพื่อระบุรหัสที่ทำให้เกิดปัญหา ในสถานการณ์นี้ฉันรู้ว่าแพคเกจใดที่ทำให้เกิดปัญหาอยู่แล้ว สิ่งที่ฉันไม่รู้คือวิธีการใช้package-ระบบเพื่อโหลดแพ็กเกจเพียงไม่กี่อย่าง (package-initialize)จะโหลดแพ็คเกจ แต่รวมถึงทุกอย่างใน.emacs.d/elpaไดเรกทอรีของฉัน package-load-listช่วยให้ผมระบุรุ่นเฉพาะของแพคเกจที่จะโหลดหรือแพคเกจโดยเฉพาะอย่างยิ่งอย่างชัดเจนยกเว้น ฉันต้องการย้อนกลับ - วิธีจัดหา Emacs ด้วยรายชื่อแพ็คเกจที่จะรวมโดยไม่ต้องโหลดแพ็คเกจอื่น ๆ ในระบบ elpa / package

4
เป็นไปได้ไหมที่จะสร้างบัฟเฟอร์ * โหมด * scratch *?
ในขณะที่ทำงานกับเอกสารใน emacs ฉันมักพบว่าตัวเองกำลังเปิดบัฟเฟอร์ใหม่ทำอะไรบางอย่างในโหมด org คัดลอกเนื้อหาโหมด org และวางลงในเอกสารของฉัน ฉันเคยสร้างเอกสารองค์กรโหมดใหม่ทุกครั้งที่ฉันต้องการทำสิ่งนี้ ตอนนี้ฉันมีไฟล์~/.scratch.orgที่เก็บงานนี้ไว้ เป็นไปได้ไหมที่จะสร้าง*org-scratch*บัฟเฟอร์ที่ทำงานแบบแอนะล็อกกับ*scratch*บัฟเฟอร์?


1
เปลี่ยนสีไฮไลต์เมื่อหน้าต่างไม่ได้โฟกัส?
ฉันใช้โหมด hl เป็นโหมดรองสำหรับคล่องแคล่ว ฉันจะทำให้สีไฮไลต์เปลี่ยนบรรทัดได้อย่างไร (เช่นสีเทา) เมื่อหน้าต่างคล่องแคล่วไม่ใช่หน้าต่างปัจจุบันจากนั้นกลับสู่สีไฮไลต์เริ่มต้นเมื่อหน้าต่างคล่องแคล่วกลายเป็นหน้าต่างปัจจุบันอีกครั้ง

2
ฉันขาดอะไรไปบ้างการประสานงาน / การพัฒนาเวอร์ชั่นใหม่ของ Emacs เกิดขึ้นที่ไหน?
เมื่อเร็ว ๆ นี้ฉันรู้สึกประทับใจกับสิ่งใหม่ / การปรับปรุงที่รวมอยู่ใน Emacs 25 จากนั้นฉันก็เริ่มคิดถึงกระบวนการทั้งหมดที่อยู่ด้านหลัง ฉันต้องการแบ่งปันความคิดของฉันกับคุณ การติดตามคำขอล่าสุดการแก้ไขข้อบกพร่องจำนวนมากการบำรุงรักษาการขยาย Core / Dev ของ Emacs และอะไรก็ตามมันจะต้องเป็นนรกของการทำงานไม่ต้องสงสัยเลยว่า เมื่อฉันตรวจสอบการเปลี่ยนแปลงและการปรับปรุงจำนวนมากที่นำมาใช้ใน Emacs 25 ต้องใช้เวลาในการพัฒนาจำนวนมาก มันต้องมีการประสานงานที่ดี มันเหมือนว่าจะต้องมี บริษัท ขนาดใหญ่ที่อยู่เบื้องหลังการเปลี่ยนแปลงทั้งหมดเหล่านี้เพื่อผลักดัน Emacs เพิ่มเติม แต่มันไม่ใช่สิ่งที่สร้างผลกำไรมันเป็นซอฟต์แวร์ฟรีและลิขสิทธิ์ GPL ดังนั้นจากอาสาสมัครที่ยินดีใช้เวลาในการผลักดัน Emacs ให้มากขึ้นถัดจากงานประจำของพวกเขา ที่ต้องมีการประสานงานบางอย่าง เมื่อฉันตรวจสอบรายชื่อผู้รับจดหมายEmacs-devดูเหมือนว่าจะมีการประสานงานไม่มากนักมีคนไม่มากที่เข้าร่วม และยกโทษให้ฉันฉันคิดว่าการส่งจดหมายรายการจาก 90 ทุกวันนี้คุณมีทางเลือกที่สวยกว่าเดิมเช่น GitHub ออกตัวติดตามและชุมชนทั่วไป เมื่อฉันมองไปรอบ ๆ บนเว็บคุณมีบล็อกปกติ (วงเล็บไม่มีที่สิ้นสุด, Sacha Chua, Redux, OrEmacs ฯลฯ ) และชุมชนของ Emacs …


1
ดูรหัสด้วยการเยื้องที่แตกต่างจากที่บันทึกไว้ในดิสก์
ฉันทำงานในบางโครงการที่มีสไตล์การเยื้องที่ฉันพบว่าน่ารำคาญจริงๆ ฉันต้องการดูโค้ดที่มีรูปแบบการเยื้อง แต่มักจะบันทึกลงดิสก์ด้วยสไตล์การเยื้องที่กำหนดไว้เสมอ โดยเฉพาะฉันชอบ emacs สไตล์เริ่มต้นของการเยื้องในข้อโต้แย้งฟังก์ชั่นหลายบรรทัด ... void foo(int a, int b, string c) แต่โครงการเป็นแบบแท็บเท่านั้นเยื้องเดียวกับทุกสิ่ง ... void foo(int a, int b, string c) ฉันสามารถดูกรณีแรก แต่แชร์สิ่งที่สองได้ไหม

2
“ และ” vs“ เมื่อ” สำหรับเงื่อนไข
นี่คือการติดตามความคิดเห็นของคำตอบนี้ บิตของรหัสต่อไปนี้ดูเหมือนจะเทียบเท่า: (and a b) (when a b) แน่นอนandช่วยให้คุณใส่เงื่อนไขเพิ่มเติม: (and a b c d)หมายถึง(when (and a b c) d) ฉันมักจะใช้whenเพื่อแสดงการแตกแขนงเท่านั้น มีความแตกต่างที่เกิดขึ้นจริง? ดีกว่าที่จะใช้อย่างใดอย่างหนึ่ง? ฉันไม่มีแหล่งที่มาของ Emacs andเป็นฟังก์ชั่น C; whenเป็นแมโครที่ขยายไปifซึ่งตัวมันเองเป็นฟังก์ชั่น C

2
ไฮไลต์ตัวแปรเชลล์ภายในเครื่องหมายคำพูด
ในกลุ่มเอกสารต่อไปนี้จะทำให้$PWDบรรทัดบน 2 และ 3 เป็นสีในสองวิธีที่ต่างกัน: #/bin/sh echo "Current Directory: $PWD" echo 'Current Directory: $PWD' อินสแตนซ์แรกของ$PWDจะอยู่ในสีที่แตกต่างจากส่วนที่เหลือของสายมันสิ่งนี้ให้ข้อบ่งชี้ภาพที่ชัดเจนว่าตัวแปรจะขยายตัวมากกว่าถือว่าเป็นข้อความตัวอักษร ในทางตรงกันข้ามอินสแตนซ์ที่สองของ$PWDจะมีสีเหมือนกับส่วนที่เหลือของสตริงเนื่องจากเครื่องหมายคำพูดเดี่ยวทำให้ถือว่าเป็นข้อความตามตัวอักษร มีโหมด emacs ที่มีอยู่แล้วหรือไม่ซึ่งให้ "การรับรู้ข้อความเปลือกหอย" ประเภทนี้?
13 font-lock  bash 


3
เลื่อนแบบฟอร์มขึ้นและลงในโหมด paredit
ฉันใช้การแก้ไขโครงสร้างของเคอร์เซอร์ (โหมดเหมือน paredit สำหรับ Intellij และ Cursive) และฉันพบว่ามีคำสั่งที่ดีที่เรียกว่าแบบฟอร์มเลื่อนขึ้น (และลง) เลื่อนแบบฟอร์มนี้ขึ้น ( |คือประเด็น): (+ 1 |(+ 2 3) 4) => (+ (+ 2 3) 1 4) และรูปแบบการย้ายลงคล้ายกัน: (+ 1 |(+ 2 3) 4) => (+ 1 4 (+ 2 3)) เป็นไปได้ไหมที่จะทำสิ่งนี้ใน Emacs paredit-mode? ฉันคิดว่ามันไม่ได้อยู่ในชุด paredit พื้นฐาน (อย่างน้อยก็ไม่ได้อธิบายไว้ในแผ่นโกงนี้
13 editing  paredit 

1
รับ บริษัท เพื่อแสดงคำแนะนำสำหรับชื่อ Yasnippet
ฉันใช้แพ็คเกจ บริษัท โหมดและ Yasnippet เมื่อฉันพิมพ์บัฟเฟอร์ฉันได้รับคำแนะนำการเติมข้อความอัตโนมัติจาก บริษัท สำหรับ Yasnippet ฉันมีไดเรกทอรีที่มีตัวอย่าง foo.yasnippetในไดเรกทอรีที่ฉันมีตัวอย่างเช่นไฟล์ เมื่อฉันพิมพ์fooในบัฟเฟอร์และกดTabฉันจะได้รับเมนูป๊อปอัพสำหรับ yasnippets ซึ่งฉันจะเลือกตัวอย่าง ( fooหรือfoo-bar) ฉันต้องการแทรก ฉันต้องการรวม yasnippet fooเข้ากับความสำเร็จของ บริษัท เมื่อฉันพิมพ์fooฉันต้องการเห็นตัวอย่างข้อมูลในป๊อปอัปความสมบูรณ์ของ บริษัท เป็นไปได้ไหม ถ้าเป็นเช่นนั้นฉันจะทำสิ่งนี้ได้อย่างไร ใน Vim คุณมีสิ่งนั้นด้วย Neocomplete และ VimSnippets เมื่อฉันไปเที่ยวรอบ ๆ ฉันพบลิงค์นี้กับ Elispแต่ฉันไม่สามารถคาดศีรษะได้ว่าจะนำไปใช้ได้อย่างไร ข้อเสนอแนะใด ๆ

1
จะแก้ไข crontab โดยตรงภายใน emacs ได้อย่างไรเมื่อฉันเปิด emacs ไปแล้ว?
ฉันรู้ว่าฉันสามารถตั้งค่าตัวแปร EDITOR และแก้ไข crontab ของฉันด้วย emacs แต่ต้องเริ่มต้นกระบวนการจากเชลล์ด้วย $ crontab -e คำถามของฉันคือฉันจะแก้ไข crontab ของฉันโดยตรงได้อย่างไรถ้าฉันอยู่ใน emacs แล้ว? ฉันพยายามเริ่มต้นใช้งาน eshell และรัน crontab -e จากตรงนั้น แต่เทอร์มินัลบ่น: $ crontab -e emacs: Terminal type "dumb" is not powerful enough to run Emacs. It lacks the ability to position the cursor. If that is not the actual …
13 editing 

3
ฉันจะออกจาก ediff ได้ทันทีโดยไม่ต้องพิมพ์ 'y'
เมื่อฉันออกจาก ediff กับqฉันถูกถามว่าฉันต้องการที่จะเลิกจริง ๆ ฉันอยากให้มันเลิกทันที ไม่มีอะไรที่เห็นได้ชัดคือภายใต้การปรับแต่ง มีวิธีแก้ปัญหาที่นี่ซึ่งดูเหมือนว่าจะทำงานโดยการกำหนดqคีย์ใหม่ แต่ฉันไม่แน่ใจเกี่ยวกับรายละเอียดของการทำงานของฟังก์ชัน วิธีที่ง่ายที่สุดในการเลิกเลิกทำหมายถึงการเลิกอย่างแท้จริง
13 ediff 

2
ฉันสามารถสร้างลิงค์ในโหมดองค์กรที่มีเครื่องหมายวงเล็บ [หรือ] ได้หรือไม่?
มีทางที่จะหลบหนีวงเล็บ ( [และ]) เพื่อให้สามารถรวมไว้ในคำอธิบายของลิงค์โหมดองค์กรได้หรือไม่? ลิงค์ต่อไปนี้ใช้งานไม่ได้ตัวอย่างเช่น: [[http://mathoverflow.net/questions/195203/automorphisms-of-ideals-of-mathbbct][Automorphisms of ideals of C[t]]] ฉันหวังว่าการใช้แบ็กสแลช ( \[) จะใช้งานได้หรือว่าจะมีองค์กร org แต่ดูเหมือนจะไม่เป็นเช่นนั้น
13 org-mode 

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