8

whitespace-mode特定のモードでのみ自動的に emacs を有効にしようとしています。ドキュメントによると、変数を有効global-whitespace-modeにして設定すると、まさにそれが行われます。whitespace-global-modesしかし、私はそれを正しく動作させることができません。

.emacs.elは持っています:

(require 'whitespace)
(global-whitespace-mode t)
(setq whitespace-global-modes '(c-mode c++-mode))

しかし、 の定義はwhitespace-global-modes無視されているようです。global-whitespace-modeすべてのバッファで有効になります。変数名を正しく取得したことはわかっていC-h v whitespace-global-modesます。

whitespace-global-modes's value is (c-mode c++mode)

Documentation:
Modes for which global `whitespace-mode' is automagically turned on.
...

それで、私は何を間違っていますか?の目的を誤解していwhitespace-global-modesますか?

私はemacs 23.2.1を実行しています。

4

2 に答える 2

5

どうやら、whitespace-global-modes の意味は、あなた (および私) が理解しているものとは大きく異なります。

試してみてはどうですか

(require 'whitespace)

(add-hook 'c-mode-hook 
  (function (lambda ()
              (whitespace-mode t))))

C ++モードでも同じことを繰り返しますか?

于 2011-11-07T14:17:42.457 に答える
4

結局、私のコマンド.emacs.el (ほぼ)機能していたことがわかりました。私を混乱させたのは、C および C++ バッファーのみが必要に応じて の効果を得ていたにもかかわらず、すべてのバッファーのモードラインに「WS」が表示さwhitespace-modeれることでした。

他の問題は、タイプミスがあったことでした:c++modeではなくc++-mode.

于 2011-11-07T14:17:15.237 に答える