วิธีค้นหาธีมสีปัจจุบันใน emacs


24

ในขณะที่ emacs กำลังทำงานฉันจะค้นหาธีมสีที่ใช้อยู่ในปัจจุบันได้อย่างไร

คำตอบ:


19

ไม่มีแนวคิดของชุดรูปแบบปัจจุบันและแน่นอนสามารถใช้ชุดรูปแบบหลายชุดตามลำดับเพื่อกำหนดชุดใบหน้าที่ใช้งาน การสนับสนุนสำหรับชุดรูปแบบถูกเพิ่มเข้าไปในเวอร์ชั่นล่าสุดของ Emacs (ดูM-x customize-theme) และยังคงมีตัวเลือก "เลือกมากกว่าหนึ่งชุดรูปแบบพร้อมกัน"

กล่าวโดยย่อเมื่อคุณเปิดใช้งานชุดรูปแบบคุณไม่ได้เปลี่ยนไปใช้ชุดรูปแบบนั้น แต่จะใช้การเปลี่ยนแปลงที่ระบุในชุดรูปแบบกับใบหน้าและตัวแปรที่อยู่ในรายการ

การปรับแต่งทั้งหมดที่ไม่ได้วางไว้อย่างชัดเจนในธีมที่มีชื่อจะถูกใส่เข้าไปในธีมผู้ใช้ที่ซ่อนอยู่ดังนั้นจึงมีธีมที่ใช้งานอยู่อย่างน้อยหนึ่งธีมเสมอ รูปแบบการเปิดใช้งานอื่น ๆ custom-enabled-themesที่มีการระบุไว้ในตัวแปร


4

แบ่งปันตัวอย่างสำหรับการใช้ color-theme-print เพื่อรับธีมที่ฉันใช้

ผ่าน 'Mx color-theme-print' คุณจะได้รับผลลัพธ์เกี่ยวกับข้อมูลชุดรูปแบบสีจากนั้นค้นหาค่าทั่วไปที่ไม่ซ้ำกันสำหรับชุดรูปแบบสีที่แตกต่างกันฉันเลือก 'พื้นหลังสี' ซึ่งมีค่า 537182 สำหรับ emac ของฉัน

เปิดไลบรารี่ธีมสี 'color-theme-library.el' แล้วค้นหาไฟล์ด้วยคีย์เวิร์ดเป็น '537182' จากนั้นคุณจะได้รับชื่อธีมที่นั่น

แม้ว่าจะไม่ใช่วิธีที่ตรงไปตรงมา แต่ใช้งานได้จริงหวังว่าจะช่วยได้!


3

M-x color-theme-printมีประโยชน์ในการบอกคุณว่าแบบอักษรใบหน้าใดที่มีผลบังคับใช้ มันจะไม่บอกคุณว่ามีการใช้ชุดรูปแบบสีที่มีชื่อ แต่คุณควรจะสามารถใช้งานได้จากไฟล์ init ของคุณ ถ้าไม่ฉันคิดว่าคุณต้องใช้โหมดที่ใช้ชุดรูปแบบสีของตัวเอง (ฉันรู้ว่าProof Generalทำสิ่งนี้และมันน่ารำคาญที่สุด)


1
เห็นได้ชัดว่าสิ่งนี้จำเป็นต้องมี(require 'color-theme)ก่อน
Rolazaro Azeveires

1

ในการเพิ่มการตอบสนองของ sanityinc คุณสามารถตั้งค่าด้วยตัวคุณเองหรืออยู่ในไฟล์ init.el (dotemacs) ของคุณ

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

@sanityinc ขอบคุณสำหรับคำอธิบายด้วย ฉันสังเกตว่าเมื่อฉันเริ่มเพิ่มชุดรูปแบบเพิ่มเติมและเพิ่มเติมอย่างต่อเนื่องบางพื้นที่เช่น mini buffer จะไม่เปลี่ยนแปลงหรือถูกตั้งค่าเป็นค่าของชุดรูปแบบสุดท้าย ตอนนี้ฉันรู้ว่าทำไม


ในcolor-themeแพคเกจเก่ามี var ที่เรียกว่าcolor-theme-is-cumulativeซึ่งคุณสามารถตั้งค่าเพื่อnilให้ชุดรูปแบบไม่รบกวนซึ่งกันและกัน ดูเหมือนความคิดที่ดี แต่ผลลัพธ์มักจะไม่คาดคิดทั้งหมดฉันคิดว่าส่วนหนึ่งเป็นเพราะธีมมักจะตั้งสมมติฐานเกี่ยวกับใบหน้าในตัว

ใช่ฉันสังเกตว่าข้อสันนิษฐานนั้นเช่นกันเมื่อฉันทำมันขึ้นมา ... ฉันจะคัดลอกมาจากหนึ่ง 'ที่เป็นที่นิยม' แต่มันมีครึ่งสถานที่ที่คนต่อไปทำ ... ฯลฯ ทำให้ฉันคิดว่าบางประเด็น เพียงแค่เปลี่ยนตัวแปรเหล่านั้นที่มันต้องการและมีหลายร้อยที่จะเปลี่ยนดังนั้นทำไมต้องกังวล ในบันทึกที่เกี่ยวข้องฉันใช้ชุดรูปแบบฝนช็อคโกแลตและรักมันตอนนี้ มันเป็นรุ่นที่ 24x ของฉันมาหลายเดือนแล้ว

1
ฉันลองใช้ชุดรูปแบบสีน้อยโดยใช้คำสั่ง "color-theme-select" และฉันชอบชุดรูปแบบสี แต่ฉันได้ปิดบัฟเฟอร์ color-theme-select buffer แล้วและฉันลืมสิ่งที่ฉันเลือกดังนั้นฉันคิดว่าอาจจะเป็น ตัวแปรบางตัวกำลังเก็บชุดรูปแบบสีที่จะถูกใช้ในปัจจุบัน ไม่มีบันทึกเกี่ยวกับเรื่องนี้ในบัฟเฟอร์ข้อความ

บางทีคุณสามารถลองM-x describe-face RET default RET(หรือใบหน้าที่ไม่ใช่ค่าเริ่มต้นอื่น) จากนั้นใช้M-x rgrepเพื่อค้นหาไฟล์ color-theme .el ที่มีชื่อ / ค่าฐานสิบหกสีเดียวกัน

ขออภัย - โซลูชันที่ดูในบัฟเฟอร์ข้อความไม่ช่วย M-x load-theme <colortheme>ไม่พิมพ์อะไรลงในบัฟเฟอร์ข้อความ
Christian Herenz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.