Bagaimana cara mengatur ukuran font default?

12

Saya menemukan diri saya secara konsisten memperkecil (Cx C--) di setiap buffer yang saya gunakan untuk melihat lebih banyak baris kode yang sedang saya kerjakan.

Apakah ada cara untuk mengatur level zoom di .emacs saya, tidak secara interaktif? Atau haruskah saya melihat pengaturan fontsize? Saya telah menggunakan zoom, karena ini adalah solusi termudah / tercepat, tetapi saya lebih suka mencari solusi yang lebih permanen. Apakah ada kerugian atau keuntungan menggunakan satu versus yang lain? Saya tidak jelas tentang perbedaannya.

aepound
sumber
1
Bagaimana ?: (face-remap-add-relative 'default '((:height 300)))untuk meledakkannya; dan (face-remap-add-relative 'default '((:height 120)))mengecilkannya? Anda dapat mengubah ketinggian sesuai keinginan Anda. Anda dapat mengubahnya menjadi fungsi interaktif dan memetakannya ke pintasan keyboard favorit Anda. Untuk mencobanya, rekatkan ke *Scratch*buffer Anda dan letakkan kursor di akhir cuplikan kode dan ketikC-x C-e
lawlist
3
Jika Anda memperkecil dalam hampir setiap buffer yang Anda gunakan, mengapa tidak mengatur ukuran font menjadi lebih kecil? Lihat utas SO ini tentang masalah itu .
Dan
@Dan: Jika pertanyaannya bukan tentang memperbesar, tetapi, pada kenyataannya, tentang bagaimana mengatur ukuran font default, maka mungkin harus ditutup sebagai duplikat dari pertanyaan yang Anda kutip. Kedengarannya seperti OP mungkin tidak yakin apa yang dia inginkan dalam hal ini: atur ukuran font atau zoom.
Drew
@Rew: setuju. OP: apakah Anda ingin mengatur ukuran font atau zoom?
Dan
1
Jawaban saya adalah: Dalam hal ini, lihat halaman Emacs Wiki yang saya kutip dalam jawaban saya. Ini mencakup semua hal tentang pengaturan font dan ukuran font, baik secara interaktif (misalnya memperbesar) dan dalam file init (pengaturan default). Ini adalah tempat untuk memulai (dan mungkin tempat untuk mengakhiri).
Drew

Jawaban:

8

Iya. Yang Anda inginkan adalah memperbesar (ukuran font untuk) bingkai , terlepas dari buffer yang ditampilkan di sana.

Lihat pustaka zoom-frm.el, dan deskripsi tentang memperbesar frame dan memperbesar buffer .

Lihat, khususnya, perintah zoom-in/out, yang melakukan keduanya. Hal ini terikat secara default untuk tombol biasanya terikat hanya penyangga zooming: C-x C-+, C-x C--, C-x C-0, dan C-x C-=. Anda juga dapat mengikat perintah zoom-indan zoom-outke rotasi roda mouse. Menggunakan C-udengan salah satu dari perintah ini beralih antara zoom bingkai dan zoom buffer.

Selain memperbesar frame atau buffer secara interaktif, Anda tentu saja dapat mengatur ukuran font default yang Anda inginkan untuk semua frame.

Halaman Emacs-Wiki yang sama memiliki informasi lebih lanjut tentang pengaturan font dan ukuran font.


Perbarui setelah Anda memutuskan bahwa Anda ingin mengatur ukuran font default

Jawabannya ada di baris terakhir yang saya tulis di atas: Lihat bagian Secara Global Ubah Font Default pada halaman Emacs Wiki Set Fonts . Ini memberitahu Anda cara mengatur font default. (Ini juga memberi tahu Anda cara memperbesar ukuran font secara interaktif.)

Ini adalah informasi singkatnya - taruh ini di file init Anda:

(add-to-list 'default-frame-alist '(font . FONT ))
(set-face-attribute 'default t :font FONT )

Tapi baca seluruh bagian halaman itu, karena ia memberi tahu Anda lebih banyak, termasuk cara mengatur font default menggunakan .Xresourcesdan daemon Emacs. Sebuah contoh dari garis cocok untuk ~/.Xresourcesuntuk menetapkan ukuran font default adalah:

Emacs.default.attributeHeight: 94
Drew
sumber
Saya membaca dalam dokumentasi bahwa mereka zoom-frm.elmemiliki kemampuan untuk menyimpan kustomisasi, meskipun tampaknya agak membingungkan. (Saya belum melakukan banyak hal dengan antarmuka kustomisasi, lebih memilih untuk mengatur hal-hal dalam file init, sebagai gantinya) Saya akan mencobanya.
aepound
Ya, komentar file zoom-frm.elmemberi tahu Anda cara menyimpan kustomisasi perubahan font, termasuk cara melakukannya tanpa menggunakan Customize UI. FWIW, saya sarankan agar orang menggunakan Customize, tetapi menggunakan yang terpisah custom-file(lihat variabel itu) daripada membiarkan Customize menulis kode ke file init mereka.
Drew
10

Jika Anda ingin menggunakan pemetik font GUI dengan pratinjau dan semuanya, Anda dapat menggunakanM-x menu-set-font

Emacs memilih font

xandfury
sumber
1
Terima kasih, ini seharusnya menjadi satu - satunya jawaban yang disarankan, di sini, di halaman wiki, di halaman awal Aquamacs!
agam
Bagaimana Anda menjadikan ini permanen?
smonff
3

Saya menggunakan ini untuk memperbesar lebar Emacs (bukan hanya buffer saat ini):

;; http://blog.vivekhaldar.com/post/4809065853/dotemacs-extract-interactively-change-font-size
(defun my/zoom-in ()
  "Increase font size by 10 points"
  (interactive)
  (set-face-attribute 'default nil
                      :height
                      (+ (face-attribute 'default :height)
                         10)))

(defun my/zoom-out ()
  "Decrease font size by 10 points"
  (interactive)
  (set-face-attribute 'default nil
                      :height
                      (- (face-attribute 'default :height)
                         10)))

;; change font size, interactively
(global-set-key (kbd "C->") 'my/zoom-in)
(global-set-key (kbd "C-<") 'my/zoom-out)
rekado
sumber