如何更改选项卡的显示方式?

How to change the way tabs are displayed?

在 Emacs 中,如何显示这样的选项卡?

有些py文件使用了tab键,有时候还很丑!

您可以使用 buffer-display-table 上的 aset 设置制表符在缓冲区中的显示方式。一个例子看起来像这样:

(aset buffer-display-table
      ?\t                        ;;Character to replace
      [?> ?- ?- ?- ?- ?- ?- ?-]) ;;Characters to replace with

如果您想改为指定字符串(因为它更易读),这是我找到的最短方法(如果有人知道将字符串转换为 char 向量的更好方法,请告诉我)。

(aset buffer-display-table ?\t
      (map 'vector 'string-to-char 
           (split-string ">-------" "" t)))

您可以通过将值设置回制表符来撤消此更改:

(aset buffer-display-table ?\t [?\t])

这只是修改了当前缓冲区,所以当你进入python模式时,你需要使用一个钩子来调用它。或者,您可以改用 standard-display-table,它将在没有自己显示的任何地方替换它 table.