modo de espaço em branco não pode mudar de rosto

4

Estou usando o prelúdio do emacs e quero ter uma limpeza de espaço em branco ao salvar, mas prefiro não mostrar espaço em branco à direita, porque a cor é desagradável com o meu tema de cores, no entanto, parece que não consigo personalizar a face do espaço em branco usando as faces de personalização , ele simplesmente não funciona, mesmo que eu tenha desativado os rostos. existem outras configurações / funções para alterar a face do espaço em branco? ou como posso desativar o realce de espaço em branco, mas ainda assim manter a limpeza salvando

abrigo
fonte

Respostas:

6

Aqui estão minhas próprias .emacsconfigurações (também conhecidas como personalização do usuário). Diretamente acima, whitespace-styleexistem opções adicionais que podem ser ativadas adicionando-as à definição de whitespace-style. Em vez de usar global-whitespace-mode, prefiro usar (whitespace-mode t)com certos ganchos de modo principal.   whitespace-cleanupé uma função que não depende do realce do espaço em branco à direita.

;;  (global-whitespace-mode t)

(setq whitespace-display-mappings '(
  (space-mark   ?\     [?\u00B7]     [?.])
  (space-mark   ?\xA0  [?\u00A4]     [?_])
  (newline-mark ?\n    [?¶ ?\n])
  (tab-mark     ?\t    [?\u00BB ?\t] [?\\ ?\t])
            ))

;; lines lines-tail newline trailing space-before-tab space-afte-tab empty
;; indentation-space indentation indentation-tab tabs spaces
(setq whitespace-style '(face space-mark tab-mark newline-mark) )

(setq whitespace-line-column 85)

(custom-set-faces
  '(whitespace-space ((t (:bold t :foreground "gray75"))))
  '(whitespace-empty ((t (:foreground "firebrick" :background "SlateGray1"))))
  '(whitespace-hspace ((t (:foreground "lightgray" :background "LemonChiffon3"))))
  '(whitespace-indentation ((t (:foreground "firebrick" :background "beige"))))
  '(whitespace-line ((t (:foreground "black" :background "red"))))
  '(whitespace-newline ((t (:foreground "orange" :background "blue"))))
  '(whitespace-space-after-tab ((t (:foreground "black" :background "green"))))
  '(whitespace-space-before-tab ((t (:foreground "black" :background "DarkOrange"))))
  '(whitespace-tab ((t (:foreground "blue" :background "white"))))
  '(whitespace-trailing ((t (:foreground "red" :background "yellow"))))
  )
lista de leis
fonte
2

Eu não uso o Prelude; em geral, eu recomendo contra os "pacotes iniciais" do Emacs. Eles tendem a personalizar fortemente o editor de maneiras que nem sempre são óbvias ou bem documentadas, e então você tem problemas com coisas como a personalização de espaços em branco que devem ser muito simples. É melhor começar aprendendo o Emacs adequadamente e depois montar suas próprias personalizações a gosto.

Dito isto, olhando para a fonte do prelude / core / prelude-editor.el , acho o seguinte:

(defcustom prelude-whitespace t
  "Non-nil values enable Prelude's whitespace visualization."
  :type 'boolean
  :group 'prelude)

o que sugere fortemente que M-x customize-variable RET prelude-whitespace RET, em seguida, definir o valor nile aplicar a alteração deve produzir o comportamento que você deseja. (O comportamento do corte é controlado por uma variável de personalização separada prelude-clean-whitespace-on-save.)

Aaron Miller
fonte