ฉันจะตั้งค่าฟอนต์เริ่มต้นเป็น Emac ได้อย่างไร


31

ฉันไม่สามารถตั้งค่า Inconsolata เป็นฟอนต์เริ่มต้นใน Emacs 24.4 Linux

  • ฉันเปลี่ยนแบบอักษรในเมนู -> บันทึกตัวเลือก แบบอักษรมีการเปลี่ยนแปลง แต่หลังจากการรีสตาร์ทแบบอักษรเหมือนกันตามค่าเริ่มต้น
  • เพิ่มสิ่งนี้ใน~/.Xresources: Emacs.font: Inconsolata LGC

    จากนั้นในinit.el: (set-default-font "Inconsolata LGC"). เรื่องเดียวกัน

ฉันทำอะไรผิด


หากแบบอักษรใช้งานได้เมื่อคุณตั้งค่า แต่หายไปอีกครั้งในครั้งต่อไปที่คุณโหลด emacs นี่อาจเป็นปัญหาที่การตั้งค่าแบบกำหนดเองของคุณคือ (หรือไม่ได้รับ) บันทึกไว้
nispio

ฉันใช้ emacsclient กับ emacs ที่เริ่มต้นเป็น daemon ฉันเปลี่ยนการตั้งค่าใน init.el และหลังจากบันทึกการรีสตาร์ท daemon
Maglight

2
นี่เฉพาะกับ Emacs 24.4 หรือไม่ IOW คุณมีพฤติกรรมที่แตกต่างในการสร้าง / วางจำหน่ายอื่นหรือไม่? หากไม่ใช่ให้พิจารณาลบการอ้างอิงถึง 24.4
ดึง

เนื่องจากคุณเริ่มต้น emacs เป็น daemon ตรวจสอบเอาต์พุตคอนโซลทั้งหมดจากการเรียกของคุณไปยังemacs --daemonและตรวจสอบให้แน่ใจว่าไม่มีข้อความแสดงข้อผิดพลาด
nispio

ฉันมีสิ่งนี้ในinit.el: (set-frame-font "Ubuntu Mono 11")
thdox

คำตอบ:


29

ฉันมีสิ่งต่อไปนี้ใน. emacs ของฉันโดยใช้ Emacs สำหรับ OSX:

(custom-set-faces
 ;; custom-set-faces 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.
 '(default ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 130 :width normal :family "Inconsolata")))))

การตั้งค่าแบบอักษร

เป็นการง่ายที่สุดในการตั้งค่าแบบอักษรโดยใช้เมนูหากคุณใช้งาน Emacs ในสภาพแวดล้อมแบบกราฟิก ใช้ "ตัวเลือก -> ตั้งค่าแบบอักษรเริ่มต้น ... " จากเมนู

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

M-x customize-face RET default RET

ตอนนี้เปลี่ยนตัวเลือกที่คุณต้องการเปลี่ยนถ้ามี หากคุณเปลี่ยนแบบอักษรโดยใช้เมนูคุณควรเห็นการเปลี่ยนแปลงของคุณที่นี่

บันทึกลงในไฟล์ init ของคุณ

บันทึกสำหรับเซสชันในอนาคตโดย:

  • คลิกที่ปุ่มสถานะและเลือกบันทึกสำหรับเซสชันในอนาคต

หรือ

  • C-x C-s ในขณะที่อยู่ในบัฟเฟอร์การปรับแต่งซึ่ง จะ ควรทำสิ่งเดียวกันแต่ไม่ได้ผลเสมอไปเช่นหลังจากนั้น(set-default-font "Inconsolata")

หากทั้งหมดล้มเหลว ...

คุณอาจจะมีโชคกับการตั้งค่าแบบอักษรหน้า


16

ฉันใช้สิ่งนี้ใน init.el ของฉัน:

;; Set default font
(set-face-attribute 'default nil
                    :family "Source Code Pro"
                    :height 110
                    :weight 'normal
                    :width 'normal)

คุณสามารถลองแบบเดียวกันโดยใช้ Inconsolata แทนที่จะเป็น Source Code Pro


เพิ่มไว้ใน init.el หลังจากรีสตาร์ทยังคงฟอนต์ตามค่าเริ่มต้น
Maglight

คุณพิมพ์ "InconsolataLGC" โดยไม่มีช่องว่างระหว่าง "Inconsolata" และ "LGC" หรือไม่
Boccaperta-IT

ใช่ฉันพยายามตั้งค่าเป็น Terminus ด้วย
Maglight

1
ลองเรียกใช้fc-cache -fvจากเทอร์มินัลของคุณ บางทีตัวอักษรแคชไม่ทันสมัย ฉันลองตั้งค่า Anonymous Pro และทำงานได้ดี
Boccaperta-IT

ขอบคุณ แต่นั่นก็ไม่ได้ช่วยอะไร ฉันสามารถตั้งค่าแบบอักษรนี้ได้ แต่ Emacs ไม่ได้บันทึกไว้ในเซสชันในอนาคต
Maglight

12

หากคุณเปลี่ยนแปลงบางสิ่งในไฟล์. Xresourcesคุณจะต้องทำการอ่านซ้ำเพื่อดูการเปลี่ยนแปลงใด ๆ ในเซสชันปัจจุบัน

  • เพื่อให้การตั้งค่าทรัพยากรเก่าของคุณและนำไปใช้ใหม่:

    xrdb -merge ~/.Xresources
    
  • หากต้องการทิ้งทรัพยากรเก่าของคุณและใช้เฉพาะการตั้งค่าจาก. Xresources :

    xrdb ~/.Xresources
    

การปรับปรุงในไฟล์. Xresourcesนั้นดีกว่าเพราะจะถูกนำไปใช้ก่อนการแมปหน้าต่าง X11 ของ emacs การปรับแต่งในไฟล์ init (.emacs, .emacs.d /) จะถูกนำไปใช้กับหน้าต่างที่สร้างขึ้นแล้ว ตัวอย่างเช่นคุณสามารถหลีกเลี่ยงแถบเครื่องมือ "กะพริบ" ในระหว่างการเริ่มต้นเมื่อคุณเพิ่ม

! UI elements
Emacs.menuBar: 0
Emacs.toolBar: 0
Emacs.verticalScrollBars: off
! Font settings
Emacs.FontBackend: xft,x
Emacs.font: Inconsolata LGC:size=16

ไปยังไฟล์. Xresourcesของคุณ

คุณสามารถตรวจสอบสิ่งอื่นได้ที่https://www.gnu.org/software/emacs/manual/html_node/emacs/X-Resources.html


5

มันจะทำงานได้ทุกเมื่อที่ฉันต้องการลองใช้แบบอักษรอื่น ๆ (ใส่ไว้ในไฟล์ init.el หรือ. emacs):

(push '(font . "Inconsolata") default-frame-alist)

หรือ

(add-to-list 'default-frame-alist '(font . "Inconsolata"))

ในกรณีนี้ทั้งสองนิพจน์จะเทียบเท่ากัน

กล่าวโดยย่อฟอร์มเหล่านี้ตั้งค่าแบบอักษรสำหรับเฟรม Emacs ปัจจุบันและอนาคตทั้งหมด เนื่องจากสิ่งเหล่านี้ถูกบันทึกไว้ในไฟล์กำหนดค่าของคุณการตั้งค่าจึงไม่สูญหายเมื่อรีสตาร์ท


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