就是 Whitespace-mode tab mark disturb my indentation - Emacs Stack Exchange 里面提到的问题。
除了按照注释里说的,注释掉tab-mark那一行,还有更好的方法吗?
就是 Whitespace-mode tab mark disturb my indentation - Emacs Stack Exchange 里面提到的问题。
除了按照注释里说的,注释掉tab-mark那一行,还有更好的方法吗?
whitespace-mode 只是简单的将 ?\t
和 [?» ?\t]
做了映射。也就是说,屏幕上的每个 \t
都被替换成 »\t
显示。因为 \t
宽度是动态的,所以只要原始占用宽度大等于 2 就没问题。
例如当 tab-width
为 4 的时候,以下字符串占用的宽度是相同的:
Original | Whitespace mode |
---|---|
\t |
»\t |
\s\t |
\s»\t |
\s\s\t |
\s\s»\t |
一旦 \t
原始占用宽度小于 2,必然放不下 »\t
,自然而然后面这个 \t
就被推到下一个位置。
这可能要该底层的 c 代码,当原始占用宽度等于 1 的时候只插入»
。
我暂时没找到在哪里修改。
透露一下。
我最近正在写一个只作用于选区的 whitespace 扩展,类似 sublime text 那样的效果:
顺带解决了你提出的这个问题。
已初步完成。
哇!期待!
包名还没想好,苦恼。