Bagaimana cara mengatur font default di Emacs?


31

Saya tidak dapat menetapkan Inconsolata sebagai font default di Emacs 24.4 Linux.

  • Saya mengubah font di menu -> Simpan opsi. Font berubah tetapi setelah restart font sama dengan default.
  • Menambahkan ini ke ~/.Xresources: Emacs.font: Inconsolata LGC

    Kemudian pada init.el: (set-default-font "Inconsolata LGC"). Cerita yang sama.

Apa yang saya lakukan salah?


Jika font berfungsi ketika Anda mengaturnya, tetapi hilang lagi saat berikutnya Anda memuat emacs, ini mungkin masalah dengan di mana pengaturan kustomisasi Anda (atau tidak) disimpan.
nispio

Saya menggunakan emacsclient dengan emacs dimulai sebagai daemon. Saya mengubah pengaturan di init.el dan setelah menyimpan restart daemon.
Maglight

2
Apakah ini khusus untuk Emacs 24.4? TKI, apakah Anda mendapatkan perilaku berbeda di build / rilis lain? Jika tidak, pertimbangkan untuk menghapus referensi ke 24.4.
Drew

Karena Anda memulai emacs sebagai daemon, periksa semua output konsol dari panggilan Anda ke emacs --daemondan pastikan tidak ada pesan kesalahan.
nispio

Saya memilikinya di init.el: (set-frame-font "Ubuntu Mono 11")
thdox

Jawaban:


29

Saya memiliki yang berikut ini di .emacs saya menggunakan Emacs untuk 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")))))

Pengaturan font

Paling mudah untuk mengatur font menggunakan menu jika Anda menjalankan Emacs di lingkungan grafis. Gunakan "Opsi -> Set Default Font ..." dari menu.

Sekarang, Anda belum selesai karena Anda hanya mengubah font sementara. Metode termudah yang saya tahu adalah menggunakan mode kustomisasi.

M-x customize-face RET default RET

Sekarang ubah opsi yang ingin Anda ubah, jika ada. Jika Anda telah mengubah font menggunakan menu, Anda akan melihat perubahan Anda di sini.

Menyimpan ke file init Anda

Simpan Untuk Sesi Masa Depan dengan salah satu dari:

  • Klik pada tombol State dan pilih Save For Future Sessions

atau

  • C-x C-s sementara di buffer Kustomisasi yang akan harus melakukan hal yang sama tetapi tidak selalu berhasil, misalnya setelah(set-default-font "Inconsolata")

Jika semuanya gagal ...

Anda mungkin beruntung dengan halaman Set Fonts .


16

Saya menggunakan ini di init.el saya:

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

Anda bisa mencoba yang sama menggunakan Inconsolata, bukan Source Code Pro.


Menambahkannya di init.el. Setelah restart masih font secara default.
Maglight

Sudahkah Anda mengetik "InconsolataLGC" tanpa spasi kosong antara "Inconsolata" dan "LGC"?
Boccaperta-IT

Ya, saya juga mencoba mengaturnya ke Terminus.
Maglight

1
Coba jalankan fc-cache -fvdari terminal Anda. Mungkin font cache tidak mutakhir. Saya mencoba menyetel Anonymous Pro dan berfungsi pada saya.
Boccaperta-IT

Terima kasih, tetapi itu tidak membantu. Saya dapat mengatur font ini, tetapi Emacs tidak menyimpannya di sesi mendatang.
Maglight

12

Jika Anda mengubah sesuatu dalam file .Xresources maka Anda perlu membaca ulang untuk melihat perubahan pada sesi saat ini.

  • Untuk mempertahankan pengaturan sumber daya lama Anda dan menerapkan yang baru:

    xrdb -merge ~/.Xresources
    
  • Untuk membuang sumber daya lama Anda dan hanya menerapkan pengaturan dari. Sumber :

    xrdb ~/.Xresources
    

Penyesuaian dalam file .Xresources lebih baik, karena diterapkan sebelum memetakan jendela X11 emacs. Kustomisasi dalam file init (.emacs, .emacs.d /) diterapkan kembali ke jendela yang sudah dibuat. Misalnya, Anda dapat menghindari bilah alat "berkedip" saat startup ketika Anda menambahkan

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

ke file .Xresources Anda .

Anda dapat memeriksa apa lagi yang tersedia di https://www.gnu.org/software/emacs/manual/html_node/emacs/X-Resources.html


5

Ini selalu berfungsi setiap kali saya ingin mencoba font lain (taruh di file init.el atau .emacs Anda):

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

atau

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

Dalam hal ini kedua ekspresi adalah sama.

Singkatnya, formulir ini mengatur font untuk frame Emacs saat ini dan semua yang akan datang. Karena ini disimpan dalam file konfigurasi Anda, setup tidak hilang pada saat restart.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.