2011-11-02 26 views
5

Mỗi một lần và một lúc Emacs không làm nổi bật cú pháp và màu được tất cả funky trong một bộ đệm. Có cách nào để buộc Emacs phải "đổi màu" cú pháp? Chỉ cần thử hơn? Tôi không phiền nếu phải mất một chút thời gian.Làm thế nào để lực lượng emacs recolor

Trả lời

8

Tôi nghĩ rằng M-x font-lock-fontify-buffer sẽ làm những gì bạn đang tìm kiếm. Hoặc chọn một khu vực và làm M-o M-o (hoặc M-x font-lock-fontify-block).

+0

Cảm ơn Jon! Làm việc tuyệt vời. Tôi biết rằng phải có một số từ vựng Emacs tôi đã mất tích: "Fontify". – sligocki

+0

Không sao cả! Vui vì nó rất hữu ích. –

+0

điều này không (hiện tại) tính đến bất kỳ thay đổi nào được thực hiện sau khi tải bộ đệm bằng cách gọi (ví dụ: trong bộ đệm * scratch *) 'font-lock-add-keywords'. Để áp dụng chúng, bạn cần thực hiện 'M-x normal-mode' hoặc' M-x revert-buffer'. – Mark

0

Tôi đã từng viết chức năng đơn giản sau để đặt lại bộ đệm về chế độ tự nhiên của nó, tái cấu trúc nó, mang dòng nơi con trỏ đến giữa màn hình, tắt thanh menu, tắt thanh công cụ và di chuyển thanh cuộn bên trái.

(defun --normal-mode-no-gimmicks() 
    "Enable buffer `normal-mode' and refontify. 
Disable frame menu, toolbar, scrollbars." 
    (interactive) 
    (menu-bar-mode 0) 
    (tool-bar-mode 0) 
    (set-scroll-bar-mode 'left) 
    (toggle-scroll-bar 1) 
    (normal-mode) (recenter-top-bottom) 
    (font-lock-fontify-buffer)) 

Điều này có thể rất hữu ích khi chế độ thay đổi, Emac đột nhiên hiển thị thanh menu hoặc điều gì đó sai. Sau đó, tôi chỉ cần bấm M-g g để chữa lành nó.

(global-set-key [?\M-g ?g] '--normal-mode-no-gimmicks) 

Tôi không biết về M-o M-o; có vẻ như đây có thể là một ràng buộc khóa tốt hơn cho chức năng này.

Các vấn đề liên quan