我如何让Emacs显示空格?

我如何使Emacs显示空格(如空格,制表符,跳转等)。 像Kate和Eclipse等许多其他编辑器都具有此function,我发现当代码由于空格和制表符(特别是Python)的混合而被缩进时非常有用。

WhiteSpace模式是一个Emacs小模式,用于显示当前缓冲区中的所有空白字符。

http://www.emacswiki.org/emacs/WhiteSpace

这里是直接从Emacs维基采取行动的WhiteSpace的屏幕截图,

替代文字pics/static/WhiteSpaceOnLight.png

注意:WhiteSpace现在已经replace了BlankMode

所有可能的设置,似乎总结在这里(空白模式)和这里和这里(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) ) ) 

缩进坏了吗? – 不要在代码中使用制表符 – 现在磁盘空间很便宜。

(setq-default indent-tabs-mode nil)放入.emacs文件中。 习惯于inputCx h Mx untabify来清理整个缓冲区。 要search标签typesCs Ci 。 如果缓冲区中的控制字符不明确,则可以使用Mx hexl-mode查看它们。

另外Cx h Mx indent-region将缩进整个缓冲区。 一些像vhdl-mode这样的模式有一个美化的区域命令。