Emacs มักจะขอให้เชื่อถือชุดรูปแบบสีเมื่อเริ่มต้น


10

Emacs ของฉันจะแจ้งให้ฉันเสมอว่าควรเชื่อถือชุดรูปแบบสีที่เลือกหรือไม่ ฉันมักจะตอบyและyให้ความไว้วางใจและจดจำตัวเลือกของฉัน ฉันกำลังโหลดธีมสีด้วยตนเอง:

(load-theme 'my-favourite-theme)

ฉันคิดว่านี่เป็นเพราะการปรับแต่งง่ายอยู่ด้านล่างโหลดธีมสี เป็นวิธีการแก้ไขหรือไม่ หรือฉันควรมอบหมายการโหลดธีมสีเพื่อการปรับแต่งง่ายเช่นกัน?


2
load-themeมีอาร์กิวเมนต์ที่เป็นตัวเลือก: (load-theme THEME &optional NO-CONFIRM NO-ENABLE)- หากใช้โดยตรงในไฟล์ init ของคุณควรเรียกใช้อาร์กิวเมนต์ NO-CONFIRM ที่ไม่ใช่แบบไม่มีศูนย์ . . กล่าวอีกนัยหนึ่งให้ใช้: (load-theme 'my-favourite-theme t)
กฎหมาย

1
ดังนั้นฉันต้องการ(load-theme 'name t nil)หรือเพียงแค่(load-theme 'name t)?
Geradlus_RU

2
ข้อโต้แย้งที่เป็นตัวเลือกที่จะต้องมีการรวมเฉพาะถ้าอาร์กิวเมนต์ตัวเลือกที่ตามมาก็คือไม่ใช่nil nilตัวอย่างเช่นถ้าคุณต้องการอาร์กิวเมนต์ตัวเลือกแรกที่จะเป็นnilและอาร์กิวเมนต์ตัวเลือกที่สองจะเป็นtแล้วnilจะต้องใช้สำหรับอาร์กิวเมนต์แรก ตั้งแต่อาร์กิวเมนต์ตัวเลือกที่สองคือnil- คุณอาจละเว้นหรือรวมไว้ - มันไม่ได้สร้างความแตกต่าง บางครั้งฉันใช้nilสำหรับอาร์กิวเมนต์ที่เป็นตัวเลือกเมื่อไม่มีnilอาร์กิวเมนต์ที่ไม่จำเป็นเพิ่มเติมในภายหลังเพื่อให้ฉันรู้ว่ามีกี่อาร์กิวเมนต์ที่เป็นตัวเลือกที่เป็นไปได้สำหรับฟังก์ชั่นเฉพาะ - เช่นเครื่องเตือนความจำที่มองเห็น
กฎหมาย

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

@Geradlus_RU หากคุณไม่ได้ระบุอาร์กิวเมนต์ NO-CONFIRM ให้เป็นtemacs จะถามคำถามนั้นอีกครั้งทุกครั้งหลังจากอัปเดตชุดรูปแบบนั้น (เนื่องจากการเปลี่ยนแปลง. el จะตรวจสอบ) เป็นอย่างนั้นเหรอ? หากคุณได้รับพรอมต์เหล่านั้นทุกครั้งที่คุณเริ่มใช้งาน emacs (แม้ว่าจะยังไม่ได้อัพเดตธีม. el) ดังนั้นตรวจสอบให้แน่ใจว่าการตรวจสอบชุดรูปแบบนั้นได้รับการบันทึกโดย emacs และถูกอ่านโดย emacs ระหว่างการเริ่มต้น สถานการณ์หนึ่งที่เป็นไปได้คือคุณได้บันทึก custom.el เป็นไฟล์แยกต่างหาก (emacs กำลังจดจำธีมที่ปลอดภัยให้กับสิ่งเหล่านั้น) แต่คุณไม่ได้โหลดไฟล์นั้นใน init
Kaushal Modi

คำตอบ:


10

init.elไฟล์ของคุณอาจมีตัวอย่างบางส่วนเช่นนี้:

(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 ...)

ท่ามกลางสิ่งอื่น ๆ ตัวอย่างนี้มีหน้าที่ในการบันทึกและเรียกคืนcustom-safe-themesตัวแปร ดังนั้นหากสิ่งนี้เกิดขึ้นในตอนท้ายของไฟล์เริ่มต้นของคุณ (ตามปกติ) คุณอาจเพิ่ม(load-theme ...)บรรทัดข้างบนซึ่งอธิบายว่าทำไม Emacs ไม่ทราบเกี่ยวกับธีมที่ปลอดภัยของคุณในระหว่างการเริ่มต้น

เพียงแค่ย้ายข้อมูลโค้ดนั้นไปที่ด้านบนของไฟล์เริ่มต้นของคุณและควรแก้ปัญหาของคุณ


4

ฉันใช้moe-พวกเขาและเพียงแค่

(require 'moe-theme)
(moe-dark)

จะโหลดธีมโดยไม่มีข้อผิดพลาด / คำเตือน / พรอมต์แต่ถ้าฉันM-x load-themeอยู่ใน Emacs มันจะแจ้งให้บางอย่างเช่น "รักษาธีมให้ปลอดภัย" และฉันพบวิธีแก้ปัญหาสำหรับ:

(setq custom-safe-themes t)

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

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