Wie kann ich Emacs dazu bringen, Leerzeichen (wie ein Leerzeichen, einen Tabulator, einen Zeilensprung usw.) anzuzeigen? Viele andere Editoren wie Kate und Eclipse haben diese Funktion, und ich finde es sehr nützlich, um zu sehen, wenn Code wegen einer Mischung aus Leerzeichen und Tabulatoren eingerückt ist (insbesondere Python).
Antworten
Zu viele Anzeigen?WhiteSpace Modus ist ein Emacs-Nebenmodus, der alle Leerzeichen im aktuellen Puffer anzeigt. Er kann aktiviert werden mit M-x whitespace-mode
.
Hier ist ein Bildschirmfoto von WhiteSpace in Aktion, das direkt aus dem Emacs-Wiki stammt,
Hinweis: WhiteSpaceMode hat jetzt BlankMode ersetzt
Alle möglichen Einstellungen dafür scheinen zu sein hier zusammengefasst (blank-mode) und hier und hier (ShowWhiteSpace)
auch:
(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)
)
)
Einzug gebrochen? - Verwenden Sie niemals Tabulatoren in Ihrem Code - Speicherplatz ist heutzutage billig.
Setzen Sie (setq-default indent-tabs-mode nil)
in Ihrer .emacs-Datei. Gewöhnen Sie sich an die Eingabe von C-x h M-x untabify
um den gesamten Puffer zu enttabuisieren. Um nach Tabulatoren zu suchen, geben Sie C-s C-i
. Wenn Sie obskure Steuerzeichen in Ihren Puffern haben, können Sie diese mit M-x hexl-mode
.
Auch C-x h M-x indent-region
wird der gesamte Puffer eingerückt. Einige Modi wie der vhdl-Modus verfügen über den Befehl beautify region.