Cancelar o preenchimento automático no Emacs

0

Ao usar o Emacs (versão 24.1, se isso faz alguma diferença), eu gostaria de ter uma maneira de remover toda a quebra automática de linha inserida pelo modo auto-fill minor.

Desativar auto-fill-mode é suficiente para evitar a inserção de novas quebras de linha automáticas, mas não faz nada para cancelar as existentes.

Eu encontrei uma maneira de fazer o que eu quero, mas eu me pergunto se é a melhor maneira de fazer isso. Estou descrevendo isso aqui com a esperança de que isso ajude a explicar melhor o meu problema:

  • C-u 1000 C-x f : defina o current-fill-column para um valor grande e arbitrário.
  • C-x h : selecione todo o texto no buffer
  • M-q : reorganize as quebras de linha de acordo com o novo valor current-fill-column . Se o valor for grande o suficiente, isso emulará o comportamento que estou procurando.
  • M-x auto-fill-mode : desativa o modo de preenchimento automático.

Sou relativamente novo no emacs, e me pergunto seriamente se isso é uma boa maneira de fazê-lo ou se há uma maneira melhor.

    
por rahmu 31.08.2012 / 11:29

2 respostas

1

Você pode fazer uma pesquisa e substituição:

M-%
(Prompt: Query replace: ) C-q C-j Enter
(Prompt: Query replace  with: )Enter

O Emacs agora começará a substituir cada quebra de linha por nada. Se você quiser se livrar de todos eles, pressione ! . Se você quiser verificar cada exclusão, continue pressionando y ou n conforme apropriado.

    
por 31.08.2012 / 11:51
1

As quebras de linha inseridas pelo preenchimento automático não são diferentes das quebras de linha inseridas por outros métodos (digitado, copiado-colado, de pesquisa e substituição,…). Pelo que você descreve, parece que o que você está tentando fazer é substituir as quebras de linha única por espaços e deixar várias quebras de linha consecutivas sozinhas. Você pode fazer isso com um substituto de expressão regular, mas não é muito mais simples do que você está fazendo. Chame M-x replace-regexp (ou M-% ) para substituir \(.\)^J\(.\) por (onde ^J é um caractere de nova linha literal, que você pode inserir digitando C-q C-j . Isso perderá algumas novas linhas se você tiver linhas contendo um único caractere, execute o comando uma segunda vez para substituí-los.

    
por 01.09.2012 / 03:43

Tags