Esto es similar a la edición de archivos con una oración por línea (tanto en función como en motivo), pero deseo tener un párrafo completo y fluido en lugar de saltos visuales en cada oración.
Me gustaría tener un modo menor que, cuando esté activo, unirá visualmente líneas del mismo párrafo (no separadas por \n\n
o paragraph-separate
o ...) y luego activará un comportamiento (quizás derivado de visual-line-mode
) que envolverá la línea sin insertarla realmente \n
.
¿Existe tal modo? Si no es así, ¿cómo realizaría el proceso de alterar las propiedades de visualización de un párrafo para lograr el resultado? (Después de todo, este es el quid de este modo y uno podría desarrollarse a partir del fragmento).
fill-paragraph
line-break
display
Sean Allred
fuente
fuente
\n
(si está presente), o quieres que realmente elimine las nuevas líneas para proporcionar 1 párrafo por línea?buffer-display-table
para hacer que las nuevas líneas\n
parezcan algo más como espacios o algo; vea el siguiente ejemplo en el enlace: stackoverflow.com/a/24842771/2112489 La ventaja con esto sería que el texto en el El documento no se modifica. La nueva línea puede ser casi cualquier cosa, por ejemplo, una carita sonriente, espacios, un símbolo de pilcrow, etc. El efecto visual es que se producirá una envoltura.Respuestas:
Como dijo Tom, poner una propiedad de visualización en las nuevas líneas funcionará.
El problema es averiguar qué líneas ajustar.
Aquí hay un ejemplo para comenzar:
Esto "eliminará" las nuevas líneas si está precedido por caracteres gráficos y la siguiente línea no está sangrada o vacía. Tendrá que experimentar para encontrar algo que funcione para usted.
Algunas explicaciones más:
font-lock-add-keywords
agrega una lista de reglas para el bloqueo de fuentes (por lo que el bloqueo de fuentes debe estar habilitado. El primer argumento puede ser un modo (por ejemplotext-mode
); en nuestro caso es nulo, lo que significa agregar la regla solo para el búfer actual.(,eol-regexp 1 '(face default display " "))
. El primer elemento es la expresión regular que construimos anteriormente; el segundo es la subexpresión que nos interesa; el tercero es la "cara" que queremos aplicar.font-lock-remove-keywords
.display
afont-lock-extra-managed-props
(no he intentado esto).fuente
Si entiendo el problema correctamente, es que desea conservar todas las nuevas líneas en el búfer como están; pero le gustaría mostrar algunos de ellos como espacios. Entonces, te gustaría envolver palabras.
Para envolver palabras, creo que puedes usar
visual-line-mode
.Para tratar con las nuevas líneas, creo que quizás podría poner una
display
propiedad con" "
(una cadena que consiste en un solo espacio) como valor en las nuevas líneas que desea mostrar de manera diferente.fuente