2011-11-02 7 views
5

Emacsが構文の強調表示に失敗し、色分けがバッファー内ですべてぼやけてしまいます。 Emacsにシンタックスを「再描画」させる方法はありますか?ちょうどやり直す?時間がかかっても構わない。Howto強制的にemacs recolorを

答えて

8

私はあなたが探しているものはM-x font-lock-fontify-bufferだと思います。または、地域を選択してM-o M-o(またはM-x font-lock-fontify-block)を実行します。

+0

ありがとうJon!素晴らしい仕事をした。私は、私が忘れていたEmacsのいくつかの語彙がなければならないことを知っていました: "Fontify"。 – sligocki

+0

問題ありません!それがうれしかったのでうれしいです。 –

+0

これは、(* scratch *バッファなどで) 'font-lock-add-keywords'を呼び出してバッファをロードした後に行われた変更を考慮していません。これらを適用するには、 'M-x normal-mode'または' M-x revert-buffer'を実行する必要があります。 – Mark

0

私はかつてバッファを自然なモードにリセットし、再定義し、カーソルが画面の中央に来るようにし、メニューバーを無効にし、ツールバーを無効にして移動するスクロールバーが残った。

(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)) 

これは、モードが変更されたときにEmacsが突然メニューバーを表示したり、何かがうまくいかないときに非常に便利です。それから私はそれを癒すためにM-g gを押すだけです。

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

私は約M-o M-oを知らなかった。これは、この関数のためのより良いキーバインディングであるかのように見えます。

関連する問題