Как я могу заставить Emacs отображать пустые места (например, пробел, табуляцию, переход по строке и т. д.). Многие другие редакторы, такие как Kate и Eclipse, имеют эту функцию, и я считаю очень полезным видеть, когда код нарушается из-за сочетания пробелов и вкладок (особенно Python).





Все возможные настройки для этого кажутся резюмировано здесь (пустой режим), а здесь и здесь (ShowWhiteSpace)
также:
(if (>= emacs-major-version 22)
(progn
;; Mode to use with Emacs 22
;; http://emacswiki.org/cgi-bin/wiki/BlankMode
(require 'blank-mode)
;; Mode not active by default: let's activate it
(global-blank-mode t)
;; ... activate it when text mode where color syntax is not active by default
(add-hook 'text-mode-hook 'blank-mode-on)
;; All invisible chars are shown, except newline char.
(setq blank-chars '(tabs spaces trailing lines space-before-tab))
;; Show only for one color, no mark inserted
(setq blank-style '(color))
;; Use for normal space (not shown)
(set-face-background 'blank-space-face nil)
(set-face-foreground 'blank-space-face "black")
;; used for non breakable space
(set-face-background 'blank-hspace-face "PaleGreen")
(set-face-foreground 'blank-hspace-face "black")
;; Used for spaces left of a tab
(set-face-background 'blank-space-before-tab-face "orange")
(set-face-foreground 'blank-space-before-tab-face "black")
;; Used for tab
(set-face-background 'blank-tab-face "lemonchiffon")
(set-face-foreground 'blank-tab-face "black")
;; used for extra space at the end of a line
(set-face-background 'blank-trailing-face "gold")
(set-face-foreground 'blank-trailing-face "black")
;; Used for line too long
(set-face-background 'blank-line-face "snow2")
(set-face-foreground 'blank-line-face "black")
)
(progn
;; For older Emacs prior to version 22.
;; http://www.emacswiki.org/cgi-bin/wiki/show-wspace.el
(require 'show-wspace)
(add-hook 'font-lock-mode-hook 'show-ws-highlight-tabs)
(add-hook 'font-lock-mode-hook 'show-ws-highlight-hard-spaces)
(add-hook 'font-lock-mode-hook 'show-ws-highlight-trailing-whitespace)
)
)
Режим WhiteSpace - второстепенный режим Emacs для визуализации всех символов пробела в текущем буфере. Его можно активировать с помощью M-x whitespace-mode.
Вот скриншот WhiteSpace в действии, сделанный прямо из вики Emacs,
Примечание. WhiteSpaceMode теперь заменяет BlankMode.
отступ-сломанный? - никогда не используйте вкладки в коде - в наши дни дисковое пространство дешево.
Поместите (setq-default indent-tabs-mode nil) в ваш файл .emacs. Привыкайте набирать C-x h M-x untabify, чтобы развернуть весь буфер. Для поиска вкладок введите C-s C-i. Если у вас есть непонятные управляющие символы в ваших буферах, вы можете увидеть их с помощью M-x hexl-mode.
Также C-x h M-x indent-region сделает отступ для всего буфера. Некоторые режимы, такие как vhdl-mode, имеют команду украшения региона.
У разных разработчиков в моей команде разные предпочтения в отношении ширины вкладок. Установка всего на пробелы облажает остальную команду. Тем не менее, спасибо за игру.
Для записи: это должен быть C-h f untabify вместо C-x h M-x untabify.
Emacs хорош не только для кода, но и для других типов файлов (например, файлов данных, разделенных табуляцией)! Аккуратно, а?
@ To1ne C-h f untabify: справка по untabify. C-x h M-x untabify: отметьте буфер, затем запустите untabify.
Спасибо за снимок экрана и ссылку, но вы забыли сообщить нам, как включить эту функцию. (Кстати, это
M-x whitespace-mode.)