คำถามติดแท็ก major-mode

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

2
จดจำโหมดสำหรับไฟล์ที่ไม่มีนามสกุล
ฉันเริ่มแก้ไขไฟล์จำนวนมากที่ไม่มีส่วนขยาย แต่ยังอยู่ในรูปแบบโหมดหลัก ฉันเป็นผู้ใช้ Emacs เพียงคนเดียวในทีมและฉันไม่ต้องการทำให้มันชัดเจนว่าผู้แก้ไขของฉันต้องการสิ่งพิเศษ ฉันต้องการหลีกเลี่ยงการเปลี่ยน codebase ฉันไม่สามารถเปลี่ยนชื่อไฟล์ได้ ฉันไม่สามารถใช้ความคิดเห็นพิเศษของ Emacs ได้ ฉันต้องการให้ Emacs จดจำโหมดใดก็ตามที่ฉันวางไฟล์ด้วยตนเองในที่สุด (พร้อมพูดM-x conf-mode) และเปิดใช้งานโหมดนั้นโดยอัตโนมัติเมื่อฉันเข้าชมอีกครั้ง ฉันใช้savehist-modeเพื่อจัดการความเพียร ฉันสามารถทำสิ่งนี้อย่างเจ็บปวดได้หรือไม่?
10 major-mode 

2
ทำไมโหมดหลักไม่เพียงตรวจสอบใบหน้า
เมื่อเขียนโหมดหลักมันมักจะมีประโยชน์ที่จะรู้ว่า 'เป็นจุดในสตริง?' 'มีความคิดเห็นไหม?' โหมดหลักส่วนใหญ่ดูเหมือนจะพยายามแยกวิเคราะห์ภาษาการเขียนโปรแกรม ตัวอย่างเช่น: python-syntax-content โทร syntax-ppss haskell-fill-paragraphโทรsyntax-ppssและre-search-forward c-in-comment-line-prefix-p ย้ายจุดรอบ ๆ และโทร looking-at sp-point-in-commentโทรsyntax-ppssแต่ยังตรวจสอบว่ามันอยู่ในขอบเขตความคิดเห็น อย่างไรก็ตามวิธีนี้ใช้ไม่ได้ในบางกรณี ในบัฟเฟอร์โหมดองค์กรความคิดเห็นในบล็อกแหล่งตรวจไม่ถูกต้องโดยวิธีการเหล่านี้ นอกจากนี้ยังดูเหมือนไม่มีจุดหมายเนื่องจากบัฟเฟอร์แสดงความคิดเห็นแล้วที่เน้นอยู่ คุณสามารถตรวจสอบใบหน้าตรงจุดแทน: (defun wh--get-faces (pos) "Get all the font faces at POS." (remq nil (list (get-char-property pos 'read-face-name) (get-char-property pos 'face) (plist-get (text-properties-at pos) 'face)))) (defun wh-string-p (pos) "Return non-nil if POS is …

4
ฉันจะสืบทอดจากโหมด prog ขณะที่ยังคงรองรับ emacsen รุ่นเก่าได้อย่างไร
ฉันกำลังเขียนโหมดหลักสำหรับภาษาการเขียนโปรแกรม แต่ฉันต้องการสนับสนุน Emacs รุ่นเก่ากว่า prog-modeค่อนข้างใหม่ ฉันต้องการรับช่วงจากprog-modeถ้ามันถูกกำหนด แต่ยังคงทำสิ่งที่เหมาะสมเป็นอย่างอื่น วิธีที่ดีที่สุดคืออะไร ฉันควรจะdefalias prog-modeใช้ Emacsen รุ่นเก่าหรือว่าจะรบกวนโหมดอื่นหรือไม่หากพวกเขาทำสิ่งเดียวกัน

3
วิธีการเริ่มต้น emacs ในโหมด "nothing" (`basic-mode`)
หากฉันพิมพ์emacs test.shEmacs ยืนยันที่จะให้ฉันอยู่ในShell-scriptโหมด อีกครั้งที่ฉันต้องการแก้ไขไฟล์help.txtแล้ว Emacs ทำให้ฉันอยู่ในTextโหมด แต่บางครั้งฉันไม่ต้องการสิ่งนี้โดยเฉพาะอย่างยิ่งเมื่อฉันกำลังทำแปะขนาดใหญ่ใน Emacs จากแหล่งอื่น ๆ ฉันจะเริ่ม Emacs ในโหมด "ไม่มีอะไร" ได้อย่างไร ไม่มีการเยื้องพิเศษระยะห่าง ฯลฯ และ Emacs จะนำตัวอักษรไปตามที่ป้อน UPDATE:นี่คือตัวอย่าง คัดลอกข้อความต่อไปนี้ไปยังคลิปบอร์ดของคุณเปิด emacs (แม้ในโหมดพื้นฐาน) และวาง <?xml version="1.0" encoding="UTF-8" standalone="no"?> <EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:shibmd="urn:mace:shibboleth:metadata:1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ID="FARM20190311T2248" Name="https://www.example.com/" entityID="https://www.example.com/" validUntil="2020-03-11T22:48:12Z"><ds:Signature> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> Emacs ยืนยันในการเปลี่ยนระยะห่าง (แม้ในโหมดพื้นฐานและการใช้-q) เป็น: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <EntityDescriptor …


2
วิธีเขียนโหมดหลักที่ไม่ได้เปิดไฟล์ แต่ให้มุมมองกับมัน
ฉันต้องการเขียนโหมดหลักสำหรับตรวจสอบไฟล์ netCDF เหล่านี้เป็นไฟล์ไบนารีซึ่งสามารถมีขนาดหลาย GB ดังนั้นฉันไม่ต้องการที่จะเปิดพวกเขาใน emacs ปฏิสัมพันธ์ที่ฉันมีในใจคือต่อไปนี้: ผู้ใช้เปิดไฟล์ netCDF เหมือนกับไฟล์อื่น ๆ ใน emacs โปรแกรมบรรทัดคำสั่ง ( ncdump -h) ถูกเรียกใช้งานบนไฟล์และเอาต์พุตถูกตีความโดย emacs ปัญหาคือดูเหมือนว่าไม่มีทางที่จะหยุด emacs จากการเปิดไฟล์ได้

2
ฉันจะเขียนฟังก์ชั่น `เสร็จสิ้น ณ จุดฟังก์ชั่น 'ได้อย่างไร?
ฉันกำลังพิจารณาที่จะเขียนโหมดสำคัญสำหรับการแก้ไข Magic: The Gathering deck ส่วนใหญ่ดูเหมือนจะค่อนข้างตรงไปตรงมา แต่ฉันมีหนึ่งคำถาม มีการ์ดเวทย์มนตร์ที่ไม่ซ้ำกันประมาณ 15,000 การ์ด (การ์ดที่มีชื่อเฉพาะ) ฉันต้องการที่จะเสร็จสมบูรณ์กับพวกเขาโดยการเขียนฟังก์ชั่นที่สมบูรณ์ที่จุดฟังก์ชั่น ฉันกำลังมองหาตัวอย่างง่ายๆพื้นฐานของฟังก์ชั่น capf ที่เพิ่งทำเสร็จกับชุดคำเพื่อยึดโหมดของฉัน แต่ยังไม่พบอะไรเลย คุณรู้ตัวอย่างที่ดีสำหรับการเริ่มต้นนี้หรือไม่? และคุณเชื่อหรือไม่ว่าจะเป็นเรื่องง่ายที่จะได้รับประสิทธิภาพที่ดีหรือฉันต้องเขียนโครงสร้างข้อมูลของตัวเอง (ฉันคิดว่าอาจเป็น Trie) เห็นได้ชัดว่าฉันต้องหาวิธีซิงค์กับการ์ดใหม่ ฯลฯ และในอนาคตอาจจะสามารถค้นหาการ์ดด้วยคุณสมบัติอื่นนอกเหนือจากชื่อการ์ด แต่อาจรอได้

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