Sử dụng một phông chữ khác nhau cho mỗi chế độ chính


19

Có thể đặt các phông chữ khác nhau theo chế độ chính? Nói Inconsolata-12trong org-modebộ đệm và Symbola-12trong tất cả các chế độ còn lại. Hoặc ít nhất, có thể làm một

(set-frame-font "Inconsolata" t)

sau khi chuyển sang org-modebộ đệm?

Câu trả lời:


21

buffer-face-setbuffer-face-modetrong Emacs 23 trở lên được thiết kế cho chính xác điều này. Từ wiki Emacs :

;; Use variable width font faces in current buffer
 (defun my-buffer-face-mode-variable ()
   "Set font to a variable width (proportional) fonts in current buffer"
   (interactive)
   (setq buffer-face-mode-face '(:family "Symbola" :height 100 :width semi-condensed))
   (buffer-face-mode))

 ;; Use monospaced font faces in current buffer
 (defun my-buffer-face-mode-fixed ()
   "Sets a fixed width (monospace) font in current buffer"
   (interactive)
   (setq buffer-face-mode-face '(:family "Inconsolata" :height 100))
   (buffer-face-mode))

 ;; Set default font faces for Info and ERC modes
 (add-hook 'erc-mode-hook 'my-buffer-face-mode-variable)
 (add-hook 'Info-mode-hook 'my-buffer-face-mode-variable)

4

Bạn có thể thực hiện thay đổi bằng cách sử dụng org-mode-hook, như thế này

(add-hook 'org-mode-hook (lambda () (set-frame-font "Inconsolata" t)))

Mà sẽ thay đổi phông chữ bất cứ khi nào bạn vào chế độ org. Nhược điểm là nó không thay đổi phông chữ trở lại sau khi bạn rời khỏi chế độ org.

Chỉnh sửa: như Ryan đã chỉ ra , bạn có thể làm theo lời khuyên trên trang wiki này để thực hiện trên mỗi bộ đệm. Tôi đã không thử nghiệm rộng rãi, nhưng điều này dường như hoạt động

(add-hook 'org-mode-hook (lambda ()
                            (setq buffer-face-mode-face '(:family "Inconsolata"))
                            (buffer-face-mode)))

Nó có thể có vấn đề nếu bạn muốn sử dụng buffer-face-modetrong các bộ đệm khác, nhưng nếu bạn chỉ sử dụng nó cho việc này thì nó sẽ hoạt động.


4
Bạn đã nhìn buffer-face-setchưa Trang wiki này cho biết bạn có thể làm điều tương tự trên mỗi bộ đệm thay vì mỗi khung.
Ryan

1
Tuyệt vời, cảm ơn, đây chính xác là tôi đang tìm kiếm. Cộng đồng này là phi thường.
csantosb
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.