คำถามติดแท็ก text-properties

2
ทับซ้อนกันคืออะไรและแตกต่างจากคุณสมบัติข้อความอย่างไร
คู่มือการใช้งาน : คุณสามารถใช้การวางซ้อนเพื่อเปลี่ยนลักษณะที่ปรากฏของข้อความบัฟเฟอร์บนหน้าจอเพื่อคุณสมบัติการนำเสนอ จากชื่อของมันแนะนำว่าสามารถใช้เพื่อสร้าง "เลเยอร์" เหนือข้อความที่มีอยู่ได้ แต่คำอธิบายข้างต้นดูเหมือนจะบ่งบอกว่ามันเปลี่ยนลักษณะที่ปรากฏของข้อความซึ่งให้ความรู้สึกคล้ายกับคุณสมบัติของข้อความ การใช้การวางซ้อนอย่างเป็นรูปธรรมคืออะไร พวกเขาเสนออะไรที่คุณสมบัติข้อความไม่ได้ พวกเขาสามารถใช้เขียนข้อความทับข้อความในบัฟเฟอร์เช่นป๊อปอัพกล่องข้อมูล ฯลฯ ได้หรือไม่?

1
วิธีการตัดแถบตกแต่ง (คุณสมบัติข้อความ) จากสตริง?
โดย "สตริงตกแต่ง" ฉันหมายถึงสิ่งที่ชอบ #("foo" 0 4 (fontified t face font-lock-function-name-face)) ... ตรงข้ามกับ "สตริงธรรมดา" "foo" (หากรหัส Elisp อ่านสตริงโดยตรงจากบัฟเฟอร์มันอาจถูกตกแต่งเช่นนี้) วิธีที่ง่ายที่สุดในการแปลงสตริงที่ตกแต่งเป็นสตริงธรรมดา (โดยการปอกการตกแต่งทั้งหมด) คืออะไร?

2
ฉันสามารถใช้รูปภาพในโมเดลไฟแช็กของฉันได้หรือไม่?
Modeline ของฉันรกรุงรัง ฉันสามารถทำให้มันแสดงรูปภาพแทนชื่อโหมดได้หรือไม่? ฉันสามารถใช้ unicode Emoji (เช่น🐍สำหรับ Python หรือ🐓สำหรับ Coq) ได้ แต่เครื่องบางเครื่องที่ใช้ Emacs config ของฉันไม่ได้ติดตั้งฟอนต์ที่ถูกต้องไว้ล่วงหน้า โหมดที่ฉันกำลังเขียนดังนั้นฉันไม่สามารถคาดหวังให้ผู้ใช้ตั้งค่าแบบอักษรที่ถูกต้องได้) ฉันพยายามเพิ่ม:imageคุณสมบัติการแสดงผลลงใน modeline ที่เบากว่าของของเล่นรองโหมด แต่ไม่มีอะไรปรากฏใน modeline: (define-minor-mode my/test-mode "Test mode." :lighter (propertize " 🐓" 'display '(image :type imagemagick :file "/home/clement/.emacs.d/rooster.png")))

5
วิธีในการแสดงข้อความแตกต่างกันอย่างสงบเสงี่ยม?
ฉันกำลังเขียนส่วนขยาย emacs สำหรับใช้กับการรู้จำเสียงและฉันกำลังมองหาความช่วยเหลือเกี่ยวกับคุณลักษณะเฉพาะ คำบางคำที่ตัวจดจำเสียงพูด (Dragon) รู้จำได้ไม่ดีอย่างต่อเนื่อง - มันไม่สำคัญว่าคุณจะฝึกมันกี่ครั้งก็ตามมันจะดูดที่จำคำบางคำได้ ในเวลาเดียวกันโดยทั่วไปเมื่อคุณเขียนหัวข้อหรือเมื่อเขียนโปรแกรมคุณจะใช้คำเดียวกันหลายครั้งซ้ำแล้วซ้ำอีก ดังนั้นฉันจึงเขียนโหมดที่ใช้การซ้อนทับเพื่อเปลี่ยนวิธีการแสดงคำในบัฟเฟอร์ มันใช้ตัวอักษรสุ่มในคำขีดเส้นใต้ในสีแบบสุ่มและวางเครื่องหมายกำกับการออกเสียงแบบสุ่ม (สำเนียงเครื่องหมายบนอากาศ ฯลฯ ) เหนือส่วนบนของมัน นี่คือภาพหน้าจอ (คุณอาจต้องซูมเพื่อดูเครื่องหมาย / ขีดเส้นใต้): จากนั้นคุณสามารถพูดว่า "ผมสีม่วง p" และมันจะมองหาคำที่มีสีม่วงขีดเส้นใต้ภายใต้ 'a' ที่มีเครื่องหมายกำกับออกเสียงที่ดูเหมือนผมและพิมพ์คำนั้นสำหรับคุณ ดังนั้นในภาพหน้าจอด้านบนที่บอกว่าจะทำให้ emacs พิมพ์ "regexp-quote" ให้คุณ แนวคิดนี้ช่วยให้คุณสามารถอ้างอิงคำใด ๆ ที่คุณใช้ไปแล้วบนหน้าจอโดยใช้ชุดคำที่ จำกัด ซึ่งตัวจดจำจะจดจำได้ดีอยู่เสมอ มันใช้งานได้ดียกเว้นในบางครั้งอาจมีการชนกัน เพื่อให้ฉันสามารถเรียนรู้ที่จะอ้างอิงคำอย่างเดียวกับที่ฉันใช้ bytes จาก md5 hash ของคำแทนที่จะ(random)เป็นอัลกอริธึมหรือกำหนดการเปลี่ยนแปลงที่หลีกเลี่ยงการชน ฉันพบเพียง 6 สีที่แยกแยะได้ง่าย (มันยากเมื่อขีดเส้นใต้มีความกว้างเพียงหนึ่งตัวอักษรและหนาพิกเซลเดียว) และ 3 เครื่องหมายที่แยกได้ง่ายสามารถแยกแยะได้ง่าย (ง่ายต่อการแยกออกจากกัน …

1
มีไลบรารีสำหรับฟิลด์อินพุตใน Emacs หรือไม่?
มีโหมด Emacs อยู่สองสามรูปแบบ (คล้าย): ส่วนต่อประสานที่กำหนดเองเป็นหนึ่งในนั้นโหมดข้อความ (อ่าน: ส่วนหัวของมัน) เป็นอีกโหมดหนึ่ง มีมากขึ้นของพวกเขา แต่น่าเสียดายที่ไม่ได้คล้ายกันมาก โดย "แบบฟอร์ม" ฉันหมายถึงบัฟเฟอร์ที่มีส่วนอ่านอย่างเดียวและสถานที่ที่กำหนดให้ใส่ข้อความ มันอาจจะมีหรือไม่มีปุ่ม (มันก็น่าจะยอมรับได้C-c C-cว่าเป็นกุญแจยืนยัน / ส่งมอบโดยไม่คำนึงถึงการมีปุ่มตกลง ) ฉันสนใจการเติมข้อมูลอัตโนมัติในฟิลด์ (โดยเฉพาะอย่างยิ่งการเปิดใช้งานฟิลด์ที่มีรายการของค่าจากชุดที่กำหนดบางรายการพูดคั่นด้วยเครื่องหมายจุลภาค) คำถามของฉันคือ: มีห้องสมุด Emacs ใดที่เปิดใช้งานง่าย (โดย "ง่าย" ฉันหมายถึงไม่สร้างใหม่ล้อ) สร้างรูปแบบดังกล่าวหรือฉันควรรหัสทุกอย่างด้วยตัวเอง? (ฉันคิดว่าสิ่งที่ฉันควรทำในกรณีหลังคือ (1) ตั้งค่าบางส่วนของบัฟเฟอร์แบบอ่านอย่างเดียว (2) เตรียมโหมดหลักพิเศษเพื่อให้เช่นTABและS-TABสลับระหว่าง "ฟิลด์" และ (3) อาจใช้บางอย่างเช่น Icicles หรือ Helm เพื่อเติมข้อความอัตโนมัติ)

2
ข้อความชั่วคราวในตำแหน่งหน้าต่างที่ไม่มีข้อความสำหรับปรับขนาด / ซ้อนทับใช่หรือไม่
ถาม:ฉันจะแสดงข้อความชั่วคราวในหน้าต่างที่ตำแหน่งหน้าจอโดยไม่มีข้อความสำหรับปรับขนาด / ซ้อนทับได้อย่างไร ฉันคุ้นเคยกับแนวคิดพื้นฐานที่อยู่เบื้องหลังคุณสมบัติข้อความและภาพซ้อนทับ (ดูที่กระทู้นี้ ) ใช้มันสองสามครั้ง แต่ฉันไม่คุ้นเคยกับมันเลย ความเข้าใจที่ จำกัด ของฉันคือต้องมีข้อความเพื่อปรับขนาดหรือซ้อนทับ แต่ฉันสงสัยว่าจะใช้ส่วนต่าง ๆ ของหน้าต่างที่ไม่มีข้อความใด ๆ นี่คือภาพหน้าจอสำหรับตัวอย่าง: เราจะใส่ข้อความ (ชั่วคราว) ลงในช่องสีแดงในสกรีนช็อตนั่นคือช่องว่างทางด้านขวาของข้อความหรือด้านล่างบรรทัดสุดท้ายในบัฟเฟอร์ได้อย่างไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.