Отключить 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]: примечание к OP: если есть другой способ перезагрузить буфер, отредактируйте или прокомментируйте этот ответ. Я надеялся найти что-то вроде M-x reload-buffer
, но я не вижу ничего подобного, что с C-h a buffer
.