0

Mac OS X で Emacs 24.1.1 を使用すると問題が発生します。Jade ファイルと CoffeeScript ファイルを編集しているので、これらのファイル タイプに対して空白モードをオンにしました。

私が見ているのは、whitespace-line-column の設定に関係なく、70 文字を超える行が whitespace-line フォント フェイスで強調表示されていることです。

問題のスクリーンショット

このショットでは、fill-column を追跡するように whitespace-line-column をカスタマイズし、fill-column を 120 に設定したことは明らかですが、はるかに短い行が強調表示されています。

Jade モードのコードを一瞥しましたが、動作を説明するものは何も見つかりませんでしたが、Emacs Lisp についてはほんの少ししか理解していません。

ご指摘ありがとうございます。

4

1 に答える 1

5

有効化するwhitespace-line-column に設定する必要がありますwhitespace-mode。つまり、値を変更したい場合は、whitespace-modeオフにしてから再度オンにしない限り有効になりません。M-x customize皮肉なことに、一度モードをアクティブにするまで、その変数は使用できません:-(

ただし、次の行を .emacs ファイルに追加することで、この変数のグローバル値をカスタマイズできます。

(setq whitespace-line-column 120)

.emacs は Emacs の起動時に評価されるため、最初に whitespace-mode を呼び出す前に設定が有効になり、希望どおりに動作するはずです。値をグローバルに設定せず、Jade ファイルのみに設定する場合は、代わりに .emacs ファイルに次のように記述します。

(set (make-local-variable 'whitespace-line-column) 80)
(add-hook 'after-change-major-mode-hook
          '(lambda () (when (eq major-mode 'jade-mode)
                        (setq whitespace-line-column 120))))

長い行を特別に強調表示したくない場合は、考慮したい 3 番目のオプションがあります。変数 whitespace-style を ( と入力M-x customize-variable ENTER whitespace-style ENTERして) カスタマイズし、値リストでエントリを削除できます。

  • ラインテール

(もしあれば)。これにより、 の値に関係なく、グローバルに長い行の強調表示がオフになりますwhitespace-line-column(これも、空白モードを無効にして再度有効にした後でのみ)。

于 2012-07-12T02:54:45.887 に答える