[已解决] 关于tab对齐的显示问题

我发现同样的tab与空格混合的行, 显示在emacs(doom)上会对不齐, 而vscode和notepad++显示是可以对齐的,请问这个是否有什么配置可以调整? 测试文本:

#define THE_QUICK_1                         1
#define BROWN_FOX_2	                        1
#define JUMPS_OVER_3						1
#define THE_LAZY_4						    0
#define DOG_5							    1
#define SOME_CONFIG						    0
#define ASDF_GHJ_KL_UIO					    0
#define CONFIG_MEM_HE		                0
#define PORT_CLKE						    0

emacs:

image

vscode:

image

notepad++:

image

不是应该都转成TAB或者SPACE吗?混着用不同编辑器很可能是对不齐的。

不过在我的机器上关掉 whitespace-mode 是能对齐的

emacs

原因可能有两个:

  1. 可能你在 Emacs 和其他编辑器上的 tab width 不一样,下图是用的你文本测试 tab width 为 8 和 4 的不同效果: image

  2. whitespace-mode 本身存在问题,导致开启之后反而破坏了对齐,2 楼动图就是个例子。原因我在〈 whitespace-mode 当 tab 占用一个空格宽度时对不齐的问题怎么解决? - #2,来自 twlz0ne 〉有解释。我在 whitespace4r 中也有解决这个问题。

感谢大佬解答, 请问大佬的包在doom emacs应该怎么安装? 我看doom的是(package! 开头的, 你的示例是(quelpa开头的.

感谢大佬, 果然关掉就好了!

doom emacs 应该支持直接安装 git repository,你找一下例子。

~/.doom.d/packages.el里这样写就行了:

(package! whitespace4r
 :recipe (:host github :repo "twlz0ne/whitespace4r.el"
          :files ("whitespace4r.el")))

doom sync一下就安装了