Вам нужно использовать пакет
whitespace-mode. Ниже показано, как его включить и настроить:
;; WHITESPACE MODE
;; https://www.emacswiki.org/emacs/WhiteSpace
(straight-use-package 'whitespace-mode)
(defun setup-whitespace-mode ()
"Settings for 'whitespace-mode'."
(interactive)
(setq-default whitespace-display-mappings
'(
(space-mark ?\ [?\xB7] [?.]) ; space
(space-mark ?\xA0 [?\xA4] [?_]) ; hard space
(newline-mark ?\n [?¶ ?\n] [?$ ?\n]) ; end of line
)
;; Highlight lines with length bigger than 1000 chars
whitespace-line-column 1000
whitespace-fill-column 1000
)
;; Markdown-mode hack
(set-face-attribute 'whitespace-space nil
:family default-font-family
:foreground "#75715E")
(set-face-attribute 'whitespace-indentation nil
:family default-font-family
:foreground "#E6DB74"))
(add-hook 'whitespace-mode-hook #'setup-whitespace-mode)
Теперь в хук активации нужного режима добавьте вызов:
(whitespace-mode 1)
Например, так выглядят мои настройки для Markdown:
;; MARKDOWN MODE
;; https://github.com/jrblevin/markdown-mode
(straight-use-package 'markdown-mode)
(defun setup-markdown-mode()
"Settings for editing markdown documents."
(interactive)
;; Настройки отступов и всякое такое
(setq
global-hl-line-mode nil
header-line-format " "
left-margin-width 4
line-spacing 3
right-margin-width 4
word-wrap t)
;; Additional modes
(abbrev-mode 1)
(buffer-face-mode 1)
(company-mode 1)
(flycheck-mode 1) ;; Turn on linters
(linum-mode 1)
(rainbow-delimiters-mode 1)
(rainbow-mode 1) ;; Highlight brackets
(visual-line-mode 1) ;; Highlight current line
(whitespace-mode 1) ;; Show spaces, tabs and other
(ws-butler-mode 1) ;; Delete trailing spaces on changed lines
(cond ;; Turn on spell-checking only in Linux
((string-equal system-type "gnu/linux")(flyspell-mode 1)))
(set-face-attribute 'markdown-code-face nil :family default-font-family)
(set-face-attribute 'markdown-inline-code-face nil :family default-font-family))
(add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode))
(add-hook 'markdown-mode-hook #'setup-markdown-mode)
В качестве менеджера пакетов я использую
straight.el, форк
use-package, но вы можете использовать любой другой.