Я ввел следующий код в мой файл .emacs, чтобы выделить нежелательные пробелы.Emacs: выделить 2 или более пустых строк
(require 'whitespace)
(setq whitespace-style '(face empty tabs lines-tail trailing))
(global-whitespace-mode t)
Это показывает (1) пустые строки в начале & конце буфера (2) вкладки (3) линии, которые выходят за предел 80 символов (4) замыкающие пробельные
I хотел бы emacs автоматически выделить «2 или более пустых строк». Любые идеи о том, как это реализовать? Я нашел blog post, объясняющий способ сделать это с помощью regexp, но я не уверен, как реализовать это в файле .emacs.
Редактировать 1: Найден способ удаления лишних пустых строк, но это все равно не помогает мне выделять несколько пустых строк автоматически. delete extra blank lines in emacs
Редактирование 2: Добавление следующего в .emacs похоже на работу, но только после сохранения и повторного открытия файла в буфере.
(add-hook 'change-major-mode-hook '(lambda() (highlight-regexp "\\(^\\s-*$\\)\n" 'hi-yellow)))
Edit 3: После добавления (global-hi-lock-mode 1)
в .emacs файл непосредственно перед строкой в Edit 2, кажется, чтобы выделить 1 или более пустых строк в буфере. Я не уверен, как изменить регулярное выражение так, чтобы оно принимало только две или более пустых строк.
Посмотрите на 'whitespace.el' - 'empty' - это' whitespace-style', который имеет дело с строками в конце файла, а также в начале файла - см. также следующее, которое должно быть адаптировано к вашим потребностям: ' (defcustom whitespace-empty-at-eob-regexp "^ \\ ([\ t \ n] + \\)" "Укажите регулярное выражение для пустых строк в конце буфера. Используется, когда« стиль пробелов »включает в себя« пустой ». ": type '(regexp: tag" Empty Lines At End Buffer "): пробел группы" '. Возможно, потребуется изменить одну или несколько функций, например, функцию 'whitespace-empty-at-eob-regexp'. – lawlist
@lawlist Спасибо! Я не очень хорошо разбираюсь в lisp (начал использовать emacs неделю назад), но я обязательно посмотрю на файл, который вы предложили. –