Por padrão, o uso gq
com um comando de movimento envolve o texto descrito pelo comando de movimento em 79 colunas. (Sou relativamente novo em vi
/ vim
não conheço a terminologia correta.) Como posso configurar essa contagem de colunas para que, em vez disso, seja agrupada em um número diferente de colunas?
Por exemplo, suponha que eu tenha este texto:
This is text for illustration.
Gostaria de poder configurar a coluna de quebra automática para 29, para que, se meu cursor estiver na linha e eu o executo, gqip
ele seja transformado em:
This is text for
illustration.
Estou usando o gVim no Ubuntu GNOME 17.04, se isso faz diferença.
Edição: Estou procurando uma maneira de quebrar manualmente certas seções de texto para o comprimento de linha determinado sem afetar outros, porque há alguns casos em que estou bem em ir além do limite. Para expandir o exemplo anterior, se meu documento estiver assim:
This is text for illustration.
This is some other text for illustration.
E eu corro gqip
com o cursor na primeira linha, gostaria de obter:
This is text for
illustration.
This is some other text for illustration.
Então, se eu começar a digitar uma nova linha abaixo dela, gostaria que essa linha não fosse afetada pelo limite.
Meu caso de uso é escrever documentos do LaTeX: eu gostaria de poder agrupar parágrafos da prosa em um certo número de colunas sob demanda, mas em certos casos em que estou escrevendo equações longas ou tabelas, quero que essas linhas sejam fique mais tempo que o limite.
gq
comando não fornece a configuração da largura do envoltório por chamada; seguetextwidth
etextwidth
se aplica a todo o buffer, não apenas a certas linhas. Se você estiver satisfeito com o agrupamento manual das seções que deseja, você pode escrever uma função que: salve o valor atual detextwidth
; definidotextwidth
como 29; executargq
nas linhas selecionadas; restaure o valor detextwidth
. Em seguida, atribua esta função aformatexpr
. Como alternativa, você pode usar um programa externo, comofmt
formatar linhas selecionadas.