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

4

Estou usando o prelúdio do emacs e quero limpar o espaço em branco, mas prefiro não mostrar o espaço em branco, porque a cor é desagradável com o meu tema de cores no entanto, parece que não é possível personalizar a face do espaço em branco usando faces de personalização, apenas não funciona mesmo eu desabilitei os rostos. Existem outras configurações / funções para alterar a face do espaço em branco? ou como posso apenas desativar o realce de espaços em branco, mas ainda manter a limpeza ao salvar

    
por shelper 14.10.2013 / 16:24

2 respostas

6

Aqui estão as minhas próprias configurações de .emacs (também conhecido como personalização do usuário). Diretamente acima de whitespace-style são opções adicionais que podem ser ativadas, adicionando-as na definição de whitespace-style . Em vez de usar global-whitespace-mode , prefiro usar (whitespace-mode t) com determinados ganchos de modo principais. whitespace-cleanup é uma função que não é dependente do destaque 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"))))
  )
    
por 14.10.2013 / 17:17
2

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

Dito isso, olhando para a fonte do prelude / core / prelude-editor .el , eu acho isso:

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

que sugere strongmente que M-x customize-variable RET prelude-whitespace RET , em seguida, definir o valor como nil e aplicar a alteração, deve produzir o comportamento desejado. (O comportamento de corte é controlado por uma variável de personalização separada, prelude-clean-whitespace-on-save .)

    
por 14.10.2013 / 19:11

Tags