Отключить визуализацию Emacs Whitespace-режима "Длинная линия" - PullRequest
12 голосов
/ 30 июля 2011

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

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

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

Ответы [ 3 ]

10 голосов
/ 30 июля 2011

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

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

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

5 голосов
/ 24 ноября 2011

Установите значение whitespace-line-column на более высокое значение (по умолчанию 80), чтобы подсветка длинных строк не включалась:

(setq whitespace-line-column 250)

1 голос
/ 06 января 2017

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

  • Редактировать elisp, который устанавливает whitespace-style для удаления lines-tail.Например, Emacs Prelude устанавливает

    (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))

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

    1. уничтожить буфер
    2. заново открыть буфер

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

...