Vamos falar de medidas relativas. Meu Vim se parece com:
aaaaaaaaaaaaa
bbbbbbbbbbbbb
ccccccccccccc
etc
Eu gostaria que fosse menor:
aaaaa
aaaaa
bbbbb
bbbbb
ccccc
ccccc
etc
Como posso conseguir? E como posso definir o comprimento de tal bloco?
vim
indentation
Léo Léopold Hertz 준영
fonte
fonte
Respostas:
Na verdade, você pode fazer duas coisas:
Qual você quer?
A opção 1 seria alcançada definindo
textwidth
(por exemplo:set textwidth=30
(da resposta de Swaarop)). Em seguida, você pode reformatar seu texto destacando-o (no modo visual) e digitandogq
. (textwidth
pode ser abreviado comotw
, portanto:set tw=30
.)A opção 2 pode ser alternada executando
:set wrap
/:set nowrap
. Isso quebrará as linhas que são muito longas para a janela.Ambos são independentes.
fonte
fold
comando como na resposta de fgm.wrap
irá quebrar no limite da janela, não emtextwidth
.Depois de definir a 'largura do texto', você pode selecionar o texto com modo visual e pressionar gq para envolvê-lo bem (você também pode usar Q em algumas configurações mais antigas / legadas).
Algumas dicas úteis:
fonte
gqq
também envolve a linha atual (em vez degqgq
ougq$
).Usar o fold (1) é uma possibilidade:
Resultado:
fonte
fonte
textwidth
não vai lidar com uma situação sem espaços. Você pode escrever sua própriaformatexpr
função para fazer isso.Se você tiver texto sem espaços que deseja quebrar em um determinado comprimento, não é necessário usar externo
fold
nem escrever seu próprioformatexpr
.:%s/\(.\{80\}\)/\1\r/g
quebrará todas as linhas em 80 caracteres.
fonte