Это похоже на редактирование файлов по одному предложению на строку (как по функциям, так и по мотивам), но я хотел бы иметь полный плавный абзац, а не визуальные разрывы в каждом предложении.
Я хотел бы иметь второстепенный режим, который, когда активен, будет визуально соединять строки из того же абзаца (не разделенные \n\n
или paragraph-separate
или или ...), а затем активировать поведение (возможно, полученное из visual-line-mode
), которое будет переносить строку без фактической вставки \n
.
Существует ли такой режим? Если нет, то как бы я изменил свойства отображения абзаца для достижения результата? (В конце концов, это суть такого режима, и его можно разработать из фрагмента.)
fill-paragraph
line-break
display
Шон Оллред
источник
источник
\n
(если он есть) или вы хотите, чтобы он фактически удалял символы новой строки, чтобы обеспечить 1-абзац на строку?buffer-display-table
чтобы новые строки\n
выглядели как что-то вроде пробелов или чего-то еще - см. Следующий пример в ссылке: stackoverflow.com/a/24842771/2112489 Преимущество этого заключается в том, что текст в документ не изменен Новая строка может быть чем угодно - например, смайликом, пробелами, символом пикапа и т. Д. Визуальный эффект заключается в том, что произойдет перенос.Ответы:
Как сказал Том, размещение свойства отображения на новых строках будет своего рода работой.
Проблема состоит в том, чтобы выяснить, какие строки обернуть.
Вот пример для начала:
Это «удалит» новые строки, если им предшествуют графические символы, а следующая строка не имеет отступа или не пуста. Вам придется экспериментировать, чтобы найти то, что работает для вас.
Еще несколько объяснений:
font-lock-add-keywords
добавляет список правил к блокировке шрифта (поэтому блокировка шрифта должна быть включена. Первым аргументом может быть режим (напримерtext-mode
); в нашем случае это nil, что означает добавление правила только для текущего буфера.(,eol-regexp 1 '(face default display " "))
. Первый элемент - это регулярное выражение, которое мы создали ранее; второе - это подвыражение, которое нас интересует; третье - это лицо, которое мы хотим применить.font-lock-remove-keywords
.display
кfont-lock-extra-managed-props
(я не пробовал).источник
Если я правильно понимаю проблему, то вы хотите сохранить все новые строки в буфере как они есть; но вы хотели бы отобразить некоторые из них как пробелы. Тогда вы хотели бы перенос слов.
Для переноса слов я думаю, что вы можете использовать
visual-line-mode
.Для работы с новыми строками, я думаю, вы, возможно, могли бы поместить
display
свойство с" "
(строка, состоящая из одного пробела) в качестве значения на новых строках, которые вы хотите отображать по-другому.источник