71 Stimmen

Wie bringe ich Emacs dazu, Leerzeichen anzuzeigen?

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).

72voto

Justin Tanner Punkte 13747

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,

whitespace mode in action

Hinweis: WhiteSpaceMode hat jetzt BlankMode ersetzt

5voto

VonC Punkte 1117238

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)
  )
)

4voto

user37248 Punkte 257

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.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X