Isso é semelhante a Edição de arquivos com uma frase por linha (tanto na função quanto no motivo), mas eu gostaria de ter um parágrafo completo e fluido, em vez de quebras visuais em cada frase.
Eu gostaria de ter um modo secundário que, quando ativo, junte visualmente linhas do mesmo parágrafo (não separadas por \n\n
ou paragraph-separate
ou ...) e, em seguida, ative o comportamento (talvez derivado de visual-line-mode
) que envolverá a linha sem realmente inserir \n
.
Existe esse modo? Se não, como eu iria sobre o processo de alterar as propriedades de exibição de um parágrafo para alcançar o resultado? (Afinal, esse é o cerne de um modo desse tipo e um pode ser desenvolvido a partir do snippet.)
fill-paragraph
line-break
display
Sean Allred
fonte
fonte
\n
(se presente) ou deseja que ele remova as novas linhas para fornecer 1 parágrafo por linha?buffer-display-table
para fazer com que as novas linhas\n
pareçam algo como espaços ou algo assim - veja o exemplo a seguir no link: stackoverflow.com/a/24842771/2112489 A vantagem disso seria que o texto no campo documento não é modificado. A nova linha pode ser praticamente qualquer coisa - por exemplo, uma carinha sorridente, espaços, um símbolo de peregrinação, etc. O efeito visual é que a embalagem ocorrerá.Respostas:
Como Tom disse, colocar uma propriedade de exibição nas novas linhas funcionará.
O problema é descobrir quais linhas devem ser quebradas.
Aqui está um exemplo para você começar:
Isso "removerá" novas linhas se for precedido por caracteres gráficos e a próxima linha não for recuada ou vazia. Você terá que experimentar para encontrar algo que funcione para você.
Mais algumas explicações:
font-lock-add-keywords
adiciona uma lista de regras ao bloqueio de fontes (portanto, o bloqueio de fontes deve ser ativado. O primeiro argumento pode ser um modo (por exemplotext-mode
); no nosso caso, é nulo, o que significa adicionar a regra apenas ao buffer atual.(,eol-regexp 1 '(face default display " "))
. O primeiro elemento é a expressão regular que criamos anteriormente; a segunda é a subexpressão na qual estamos interessados; o terceiro é o "rosto" que queremos aplicar.font-lock-remove-keywords
.display
afont-lock-extra-managed-props
(eu não tentei isso).fonte
Se eu entendi o problema corretamente, é que você gostaria de preservar todas as novas linhas no buffer como elas são; mas você gostaria de exibir alguns deles como espaços. Então, você gostaria de agrupar as palavras.
Para quebra de palavras, acho que você pode usar
visual-line-mode
.Para lidar com as novas linhas, acho que você poderia colocar uma
display
propriedade com" "
(uma sequência que consiste em um único espaço) como um valor nas novas linhas que você deseja exibir de maneira diferente.fonte