Отключить Emacs Whitespace-режим визуализации "длинная линия"

Я лично храню все строки по 80 символов, но я также работаю над проектами в командах, где другие программисты не заботятся о длине линии.

мне нравится использовать режим пробелов, но визуализация длинной строки действительно раздражает, когда я работаю над проектами, где я не должен вмешиваться в длинные строки. Кажется, что должно быть легко отключить визуализацию длинной линии- - - я нажал m-x global-whitespace-toggle-options l, а затем можете нажмите m-x global-whitespace-toggel-options ? чтобы подтвердить, что "визуализация длинной строки" выключенный. Но длинные линии все еще выделены. Я убиваю буферы и перезагружаю их, и подсветка все еще там. Я определенно использую глобальный, а не локальный режим пробелов.

почему я не могу отключить визуализацию длинной линии?

3 ответов


последний раз, когда я подгонял whitespace-mode, Я заметил, что мои изменения в настройках не имели никакого эффекта в буферах, которые уже существовали; попробуйте воссоздать буфер или оставить и повторно войти whitespace-mode. Если вы еще не знаете, вы можете использовать M-x customize-group whitespace чтобы полностью отключить эту конкретную опцию, а не делать это вручную.

Edit: в частности, вы хотите настроить whitespace-style переменной. Это позволяет включать и выключать отдельные стили. В этом случае вам стоит обратиться от тех, которые помечены "(лицевые) линии"и" (лицевые) линии, только сверхдлинная часть". Первая изменяет грань всей линии, когда она слишком длинна, в то время как вторая изменяет только грань части, которая выходит за порог.

(другие параметры в этой группе определяют лица, которые whitespace-mode будет использоваться для выделения стилей, которые вы включили, регулярных выражений, которые он использует для идентификации определенных ситуаций и т. д., Но обычно вы заботитесь только о whitespace-style).


установите пробел-строка-столбец на более высокое значение (по умолчанию 80), поэтому выделение длинных строк не срабатывает:

(setq whitespace-line-column 250)


Я предполагаю, что у вас уже есть whitespace-mode активировано где-то в вашем init.el или аналогичные. Если это так, вы можете адаптировать Думы ' s комментарий выше, и либо

  • редактировать elisp, который устанавливает whitespace-style удалить lines-tail. Е. Г., Прелюдия Emacs наборы

    (setq whitespace-style '(face tabs empty trailing lines-tail))

    просто измените это на

    (setq whitespace-style '(face tabs empty trailing))

  • если вы не хотите напрямую отредактируйте этот elisp, а затем переопределите его своим собственным кодом, сделайте что-то вроде

    (setq whitespace-style (delete 'lines-tail whitespace-style))

    к сожалению, если работает прелюдия с автоматически загруженными буферами (используя что-то вроде Рабочий Стол Emacs), начальная настройка будет иметь приоритет: для каждого буфера, на котором вы хотите видеть whitespace-style отображается по указанию, вы должны [1]

    1. убить буфер
    2. повторное открытие буфер

[1]: примечание к OP: если есть другой способ перезагрузить буфер, отредактируйте или прокомментируйте этот ответ. Я надеялся найти что-то вроде M-x reload-buffer, но я не вижу ничего подобного, что с C-h a buffer.