如何关闭 go 缓冲区中的“制表符”突出显示?

How to turn off ‘tab’ highlighting in go buffers?

我刚开始用 Emacs 编写 Go 程序。如何关闭 go-mode 缓冲区中的选项卡突出显示?我使用 «whitespace» 来突出显示空白字符。顺便说一句,Go 是我不想突出显示选项卡的唯一模式,因为选项卡是 Go 中的标准格式。

此致,帕维尔。

明确地说,你正在做类似

的事情
(require 'whitespace)
(global-whitespace-mode t)

对吧?您可以使用

go-mode 禁用 whitespace-mode
(setq whitespace-global-modes '(not go-mode))

emacs 堆栈交换上有 related question

我发现这个

(add-hook 'go-mode-hook
      (lambda ()
        (add-hook 'before-save-hook 'gofmt-before-save)
        (setq whitespace-style '(face empty trailing lines-tail))
        (setq tab-width 4)
        (setq indent-tabs-mode 1)))

对我来说效果更好一些。保留 whitespace-mode,但不突出显示选项卡。还在保存之前运行 go fmt 并将制表符宽度设置为 4。我正在使用前奏。

添加这一行

(whitespace-toggle-options '(tabs)))

到您的 go-mode 挂钩,例如

(use-package go-mode
  :preface
  (defun go-mode-config ()
    (whitespace-toggle-options '(tabs)))
  :config
  (add-hook 'go-mode-hook (lambda ()
                            (go-mode-config))))

取自prelue go config