Emacs

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

2
บรรทัดโหมดเดียวสำหรับหน้าต่างทั้งหมด
เป็นไปได้หรือไม่ที่จะมีเพียงโหมดบรรทัดเดียว (บางครั้งเรียกว่า "แถบสถานะ") สำหรับหน้าต่างทั้งหมด ฉันต้องการให้บรรทัดโหมดเดี่ยวนี้แสดงข้อมูลเกี่ยวกับบัฟเฟอร์ที่เลือกในปัจจุบัน

1
เหตุใดบัฟเฟอร์ * การคอมไพล์ * จึงแสดงอักขระควบคุม?
ฉันกำลังใช้*compilation*บัฟเฟอร์เพื่อสร้างแอปพลิเคชัน C ++ บน Centos 5 และ Centos 6 บัฟเฟอร์แสดงการสร้างและรวมถึงการอ้างอิงไปยังไฟล์ที่เป็นส่วนหนึ่งของการสร้าง อย่างไรก็ตามฉันได้รับตัวควบคุมเช่น^[ปรากฏในผลลัพธ์และมันยากที่จะอ่านและ emacs จะได้รับชื่อไฟล์ที่เสียหายเมื่อคุณคลิกที่หนึ่งในการส่งออก ฉันคิดว่าตัวละครเหล่านี้เป็นสีผสมหรือคำอธิบายประกอบอื่น ๆ ในคอมไพเลอร์เอาท์พุท แต่ฉันไม่รู้ว่าพวกมันมาจากไหน นี่คือตัวอย่างผลลัพธ์: cc -c -g -I../machind -I. -DRELEASE_VERSION -g -O2 -m64 -D__BITS64 -pipe -DARCH_64 -DARCH_INTEL -DARCH_X86 -DARCH_X86_64 -DOS_LINUX -pthread -DLM_INTERNAL -DFLEXLM_KITBUILD -DFLEX_STATIC -DRELEASE_VERSION -DGPLATFORM=\\"x64_lsb\\" -DLINUX -DLSB3_0 -D__FD_SETSIZE=65535 -DGLIBC -DLINUX64 -DAMD64 -DREDHAT -DREL -DRHLINUX64 -DPLATFORM_AMD64_RHLINUX …

2
Projectile with caching ไม่ชอบไฟล์ใหม่
ฉันใช้ projectile สำหรับการเบราส์โปรเจค ฉันเห็นว่ามันช้ามากดังนั้นฉันจึงเปิดการแคช ตอนนี้มันเร็ว (ไม่ชัดอย่างน่าเศร้าและน่าเศร้า) ถ้าฉันสร้างไฟล์ใหม่นอก emacs เอง projectile หาไม่เจอ ฉันสามารถเรียกใช้การทำให้แคชใช้ไม่ได้ แต่ใช้เวลาสองสามนาที จะแก้ไขได้อย่างไร?

4
วิธีการตรวจสอบว่าตัวละครปัจจุบันเป็นตัวอักษร
ฉันจะทราบได้อย่างไรว่าตัวละครปัจจุบันเป็นตัวอักษร (ตัวอักษรตัวอักษร) (เช่นเป็นของคลาสไวยากรณ์[:alpha:]ในความคิด regexp) ฉันต้องการเขียนฟังก์ชั่นง่าย ๆ ดังต่อไปนี้: (defun test-letter () (interactive) (if char-after-is-a-letter (message "This is a letter") (message "This is not a letter") ) ) อัปเดต น่าเสียดายที่สมมติฐานของฉันเกี่ยวกับความเท่าเทียมกันของคลาสของตัวอักษรและคลาสไวยากรณ์[:alpha:]ดูเหมือนจะเป็นเท็จ

2
ไฮไลต์ไวยากรณ์และการเยื้องของบล็อกซอร์สโค้ดในไฟล์ html ที่เอ็กซ์พอร์ตสำหรับโหมดองค์กร
เมื่อฉันแทรกบล็อกรหัส C ในไฟล์โหมดองค์กรไฮไลต์ไวยากรณ์และการเยื้องของซอร์สโค้ดจะถูกปรับแต่งตามที่ฉันต้องการ เมื่อฉันส่งออกเป็นไฟล์ html การเน้นไวยากรณ์ในไฟล์ html นั้นเหมือนกับใน Emacs แต่การเน้นไวยากรณ์จะทำงานได้ดีขึ้นกับชุดรูปแบบสีของ Emac ของฉัน ตัวอย่างเช่น{สัญลักษณ์เป็นสีขาวในบล็อกรหัส C ของฉัน แต่ชุดรูปแบบสีของฉันมืดถ้าฉันส่งออกเป็น html พื้นหลังของไฟล์ html ก็เป็นสีขาวด้วยซึ่งหมายความว่าคุณไม่เห็น{ในบล็อกรหัสต้นฉบับของ html ที่ส่งออกแม้จะคิดว่ามันอยู่ที่นั่น การเยื้องของซอร์สโค้ดเป็นเรื่องปกติใน Emacs ของฉัน (ตามที่ฉันกำหนดเอง) แต่การเยื้องของซอร์สโค้ดในไฟล์ html ที่ส่งออกจะแตกต่างกันเพิ่มการเว้นวรรคสำหรับการเยื้อง หากฉันส่งออกไฟล์ org เดียวกันemacs -qพวกเขาเป็นเรื่องปกติในไฟล์ html ที่ส่งออก แต่การเน้นไวยากรณ์และการเยื้องของซอร์สโค้ดจะเป็นการdefaultกำหนดค่าของ Emacs ดังนั้นจึงหมายถึงตัวอักษรใบหน้ากำหนดค่าในจะมีผลต่อinit.elorg-export ดังนั้นคำถามของฉันคือเมื่อฉันส่งออกไฟล์โหมด org ซึ่งมีซอร์สโค้ดบล็อกเป็นไฟล์ html (หรืออาจเป็นรูปแบบอื่น ๆ เช่น PDF เช่นกัน) เป็นไปได้ไหมที่จะกำจัดการกำหนดค่าฟอนต์ใบหน้าของฉันทั้งหมดเกี่ยวกับ รหัสที่มาและทำมันในขณะที่emacs -q? …

3
ตั้งค่าภูมิภาคเพื่อรวมวงเล็บที่ล้อมรอบ
เริ่มต้นด้วยจุดหรือภูมิภาคที่ใช้งานอยู่ฉันจะ 'ขยาย' ในการกดแป้นถัดไปเพื่อรวมชุดวงเล็บถัดไปได้อย่างไร ถ้าฉันเริ่มต้นด้วย: ( |หมายถึงจุด) (defn foo [x] (+ x |42)) หรือถ้าฉันเริ่มต้นด้วย: ( <และ>ยึดพื้นที่ที่เลือกไว้) (defn foo [x] (+ x <42>|)) ฉันต้องการที่จะจบลงด้วย (defn foo [x] <(+ x 42)>|)

2
ขึ้นไปซ้ำ ๆ เพื่อค้นหา Makefile และคอมไพล์
ปัญหาM-x compileคือถ้าMakefileไม่ได้อยู่ในไดเรกทอรีปัจจุบันก็ล้มเหลว ฉันต้องการที่จะมีฟังก์ชั่นที่เกิดขึ้นซ้ำ ๆ เพื่อค้นหาMakefileและเรียกใช้makeจากไดเรกทอรีนี้ ฉันเคยเห็นคำถามนี้แต่มันเป็นแบบเฉพาะเส้นทางและเป็นสิ่งที่ฉันต้องคิดเกี่ยวกับการทำงาน



2
จะบันทึกสำเนาของบัฟเฟอร์ไปยังไฟล์ได้อย่างไร?
ฉันต้องการบันทึกสำเนา (หรือสแนปชอต) ของบัฟเฟอร์ลงในไฟล์ ลักษณะการทำงานจะคล้ายกับwrite-fileยกเว้นว่าจะไม่ตั้งค่าบัฟเฟอร์ให้เยี่ยมชมไฟล์นี้ สำหรับ usecase ให้จินตนาการว่าคุณมีเชลล์เซสชันและคุณต้องการบันทึกทั้งหมดลงในไฟล์บันทึกอย่างรวดเร็ว ไม่ควรเปลี่ยนชื่อบัฟเฟอร์ (เพื่อให้ฟังก์ชั่นที่ใช้ชื่อบัฟเฟอร์ยังคงทำงาน) และไม่ควรเยี่ยมชมไฟล์ (เพื่อให้ไฟล์ไม่ถูกเขียนทับโดยไม่ตั้งใจและไม่มีคำเตือนเมื่อออกจาก emacs) ฉันสามารถจินตนาการวิธีที่สกปรกสองสามอย่างในการทำเช่นนี้ฉันจะโพสต์คำตอบด้วยตนเอง แต่การอ่านจากคู่มือระบบ "ไฟล์ที่เข้าชม" ทั้งหมดนั้นซับซ้อนกว่าที่ดูและฉันคิดว่ามันง่ายที่จะร่าง ทางออกที่ผิด มีวิธีซ่อนเร้นในตัวเพื่อบรรลุเป้าหมายนี้หรือไม่?
9 buffers  saving 

3
ส่งเอาต์พุตกระบวนการไปยังบัฟเฟอร์ * Messages * แต่ข้ามพื้นที่ echo
เป็นไปได้ไหมที่จะส่งเอาต์พุตจากตัวกรองโปรเซสไปยัง*Messages*บัฟเฟอร์และระงับข้อความเอาต์พุตไม่ให้ปรากฏในพื้นที่เสียงก้องเช่นนั้นฉันสามารถใช้คำสั่งแบบโต้ตอบพร้อมกันได้โดยไม่ต้องminibuffer-promptถูกลบออกโดยตัวกรอง subpress (defun rsync-process-filter (proc string) (when (not (or (string-match "files...\r" string) (string-match "files to consider\n" string))) (message "%s" string))) แก้ไข (3 มกราคม 2015): ต่อไปนี้เป็นลิงก์ไปยังคำถามที่คล้ายกันอย่างไรก็ตามฉันยังไม่สามารถทำให้มันทำงานกับกระบวนการสตริงที่สตริงที่แน่นอนไม่ได้ถูกผูกไว้ - ชื่อของเธรดคือ: Emacs - ปิดการใช้งานข้อความขนาดเล็ก : /superuser/669701/emacs-disable-some-minibuffer-messages


2
จะเติม (ห่อ) ส่วนหัวของโหมดองค์กรได้อย่างไร
ฉันต้องการเติม (ปิดล้อม) ส่วนหัวยาวในโหมดองค์กร ฉันไม่เห็นเอ่ยถึงวิธีการที่จะทำเช่นนั้นในคู่มือ org ถ้าฉันตัดบรรทัดด้วยตนเองโดยการแทรกบรรทัดใหม่โหมดองค์กรไม่รู้จักข้อความที่ตัดคำเป็นส่วนหัว เป็นไปได้ไหม หมายเหตุ: org-fill-paragraphอย่าทำสิ่งนี้: (defun org-fill-paragraph (&optional justify) "Fill element at point, when applicable. This function only applies to comment blocks, comments, example blocks and paragraphs. Also, as a special case, re-align table when point is at one. If JUSTIFY is non-nil (interactively, with prefix …

1
วิธีรับตัวเลขเฉพาะภาษาของมนุษย์?
TL; DR:ฉันจะใช้ตัวเลขภาษาฮินดี (١٢٣ ... ) เมื่อเขียนเป็นภาษาอาหรับได้อย่างไร Emacs ได้รับการยกย่องว่าเป็นบรรณาธิการที่ดีที่สุด แต่เมื่อพูดถึงการใช้ตัวเลขในบริบทของการเขียนไม่มีคำตอบที่น่าพอใจสำหรับผู้ใช้หลายภาษาเมื่อเทียบกับ Microsoft Word นั่นคือการเขียนเชิงตัวเลข ใน Microsoft Word 2010 ไปที่เมนูแบบเลื่อนลง -> คำสั่งเพิ่มเติม -> ขั้นสูง -> ภายใต้แสดงเนื้อหาของเอกสารคุณสามารถเลือกcontextตัวเลขจาก (ภาษาอาหรับหรือภาษาฮินดีหรือบริบทหรือระบบ) ตัวเลือกบริบทช่วยให้คุณสามารถเขียนตัวเลขตามบริบทของการเขียนของคุณหากเป็นตัวเลขภาษาอังกฤษจะเป็นภาษาอาหรับ 1,2,3,4,5,6,7,8,9,0 - ฟังดูแปลก! แต่มันถูกตั้งชื่อเพื่อ (เรียกชื่อผิด) และถ้าคุณเขียนในภาษาอาหรับตัวเลขจะเป็นตัวเลขภาษาฮินดีซึ่งเขียนดังนี้: สำหรับ Windows ฉันพบว่าการเปลี่ยนinput-methodขณะเขียนเป็นวิธีที่จะไปหากฉันจะเขียนเอกสารหลายภาษาใน Emacs ว่าภาษาอังกฤษและภาษาอาหรับหรือภาษาอื่นด้วยตัวอักษรที่แตกต่างกันโดยสิ้นเชิง การเปลี่ยนภาษาหรือรูปแบบแป้นพิมพ์จากแถบภาษาใน Windows IMHO จะไม่ให้ผลเหมือนเดิมเพราะจะทำลายการเชื่อมโยงคีย์ทั้งหมดในเครื่องมือแก้ไข Emacs ของคุณ (โดยเฉพาะในกรณีที่มีสองภาษาที่แตกต่างกันเช่นภาษาอังกฤษและภาษาอาหรับ) การแก้ปัญหาคือการโพสต์ที่นี่ ใน Microsoft Word หลังจากตั้งค่าตัวเลขเป็นบริบทคุณสามารถเขียนภาษาอังกฤษด้วยตัวเลขอารบิกได้อย่างราบรื่นและเมื่อคุณเปลี่ยนเป็นเขียนเป็นภาษาอาหรับโดยการหมุนไปที่ ( ALT+ …

2
วิธีการเปลี่ยนลำดับเลขฐานแปดให้เป็นข้อความ utf-8
เมื่อฉันคัดลอกข้อความที่ไม่ใช่ ASCII จาก Windows และวางลงใน Emacs ข้อความจะปรากฏขึ้นตามลำดับเลขฐานแปด ตัวอย่างเช่นถ้าฉันวางäลงใน Emacs มันจะปรากฏเป็น \ 344 ฉันพิมพ์ Cq 344 เพื่อรับäใน Emacs ได้ มันน่ารำคาญ แต่ก็ทนได้ถ้ามีตัวละครเพียงตัวเดียว แต่ถ้ามีตัวละครจำนวนมากเปลี่ยนเป็นซีเควนซ์ลำดับเลขฐานแปดมันจะสะดวกในการรันคำสั่งบางอย่างในพื้นที่เพื่อแปลงทุกอย่างภายใน มีคำสั่งดังกล่าวอยู่แล้วหรือไม่? ถ้าไม่คุณจะเขียนฟังก์ชั่นได้อย่างไร [ฉันตั้งค่าระบบการเข้ารหัสเริ่มต้นของฉันเป็น utf-8 ในไฟล์. emacs ของฉันและฉันใช้ไฟล์. emacs เดียวกันบน Windows และ Linux แต่ปัญหาจะเกิดขึ้นเฉพาะเมื่อคัดลอกจากแอปพลิเคชัน Windows ไปยัง Emacs การคัดลอกจาก Emacs ไปยังแอปพลิเคชัน Windows อื่นทำงานได้ดี]

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