Vim: quebra de linha para documentos

7

Qual é a melhor maneira de redigir palavras para um documento em vim ?
Eu gostaria que cada linha envolvesse 80 caracteres, não apenas visualmente, mas inserindo uma nova linha.

Eu tenho esse tipo de trabalho usando

:set wrap
:set linebreak

Mas se eu voltar e inserir texto em uma linha anterior, ele não ajustará o resto do parágrafo. Ele pega o texto excedente e o coloca em uma nova linha, mas a linha que vem depois não é movida para preencher a lacuna.

Então, se eu editar uma linha anterior, meu parágrafo pode ficar assim

A line that is 80 characters long
short line
A line that is 80 characters lone

Eu quero que seja assim:

A line that is 80 characters long
short line A line that is 80
characters long
    
por jonescb 27.03.2011 / 21:09

3 respostas

15

wrap e linebreak controlam a exibição do texto, acho que você verá que eles não inserem novas linhas no arquivo. Para obter o vim para inserir novas linhas no arquivo enquanto você digita, defina textwidth para a largura desejada (por exemplo, 80).

Isso não refluirá automaticamente as linhas subseqüentes quando você inserir mais texto. Eu costumo fazer isso manualmente com gq} , mas acabei de descobrir que set formatoptions+=a diria ao vim para fazer isso automaticamente. Veja a ajuda para auto-format .

    
por 27.03.2011 / 21:58
3

O gq} encapsula um parágrafo para textwidth . Certifique-se de set tw=80 primeiro. Muitas distros mapeiam isso para Q. Então você também pode usar Q} .

    
por 27.03.2011 / 21:58
1

Eu uso par para formatação, pode até quebrar palavras com um prefixo existente, no contexto de e-mails, por exemplo.

    
por 29.03.2011 / 08:15

Tags