2011-10-24 9 views
2

私はKubuntu 11.10にアップグレードしました。その後、Emacsが空白のマイナーモードで空白を表す方法が変更されました。それはrectangularsを網掛けし、ないEmacsは、ホワイトスペースの代わりにドットを置く:Emacs 23.3.1:空白スタイル

enter image description here

私はその後、whitespaceM-x customize-groupとを通してそれを変更しようとした - しかし、ドットのようなものはありません。ホワイトスペースは陰影で表現されていると言われていますが(上の写真を参照)、そうではありません(同じ写真を参照)。

はここで空白スペース面の値です:

enter image description here

は私もsuperuserでこの質問をしたが、私はそこに0回答を得たので - 私は別のコミュニティに相談することにしました。 (私は何か間違ったことをやった場合を除く)ルークのソリューションは、空間にも、タブに何の着色を与えない後

編集1

enter image description here

編集2

ここにfaceを追加すると、ルークのソリューションが修正されます。 Sergeyに感謝します。

(setq whitespace-style (quote 
    (face spaces tabs newline space-mark tab-mark newline-mark))) 

編集3:現在

私が使用している:

(custom-set-variables 
'(whitespace-line-column 9999999) 
'(whitespace-tab-width 4 t) 
'(whitespace-display-mappings '(
    (space-mark ?\ [?\u00B7] [?.])     ; space - centered dot 
    (space-mark ?\xA0 [?\u00A4] [?_])   ; hard space - currency 
    (newline-mark ?\n [?$ ?\n])      ; eol - dollar sign 
    (tab-mark ?\t [?\u00BB ?\t] [?\\ ?\t])  ; tab - left quote mark 
           )) 
'(whitespace-style '(face spaces tabs newline space-mark tab-mark newline-mark)) 
) 

(custom-set-faces 
'(default ((t (:inherit nil :stipple nil :background "#ffffb1" :foreground "#141312" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 125 :width normal :foundry "monotype" :family "DejaVu Sans Mono")))) 
'(whitespace-trailing ((t (:background "grey99")))) 
) 

のEmacsで24.3.50.1

+0

「空白スペース」(3番目の項目)の値は何ですか? –

+0

@ Luke Girvin:スクリーンショットをアップロードしました。 – Adobe

答えて

4
これを行うには良い方法はおそらくあります

が、これを追加しますあなたの.emacsはうまくいくはずです:

 
(setq whitespace-display-mappings 
     '(
    (space-mark ?\  [? ]) ;; use space not dot 
    (space-mark ?\xA0 [?\u00A4]  [?_]) 
    (space-mark ?\x8A0 [?\x8A4]  [?_]) 
    (space-mark ?\x920 [?\x924]  [?_]) 
    (space-mark ?\xE20 [?\xE24]  [?_]) 
    (space-mark ?\xF20 [?\xF24]  [?_]) 
    (newline-mark ?\n [?$ ?\n]) 
    (tab-mark  ?\t [?\u00BB ?\t] [?\\ ?\t]))) 

(custom-set-faces 
'(whitespace-space 
    ((((class color) (background dark)) (:background "red" :foreground "white")) 
    (((class color) (background light)) (:background "yellow" :foreground "black")) 
    (t (:inverse-video t))))) 

whitespace-display-mappingsの標準値はスペースに「中間点」を使用しています。上記のコードでは標準のスペースを使用しています。必要に応じてwhitespace-spaceの色を変更することができます。

+0

スクリーンショットを追加しました。 Strange - しかし、あなたのコードを.emacsに入れた後も、スペースやタブは強調表示されません。 – Adobe

+0

Emacsを-qフラグで起動した後でコードを評価するとうまくいくのですか? –

1

Luke Girvinのアドバイスを使用してemacs-qと開始した後、ルークのソリューションが機能しました。その問題は、

;; make whitespace-mode use just basic coloring 
(setq whitespace-style (quote 
    (spaces tabs newline space-mark tab-mark newline-mark))) 

これらの行が.emacsであることがわかりました。だから私はそれらを削除し、その後customize-group使用していた - 物事をこのように作るために>whitespaceを:

enter image description here

のでithe問題が解決されます。ありがとうルーク!

4

あなたが必要とするのは、空白スタイルで他の人に沿って 'face'キーワードを追加するだけです。 など。:

(setq whitespace-style (quote 
    (face spaces tabs newline space-mark tab-mark newline-mark))) 
+0

私はそれを試しました - あなたは正しい - 「顔」を追加すると本当にルークの解答が修正されます(元の投稿の2番目のスクリーンショット)。ありがとう。 – Adobe