Gosto que as longas filas sejam exibidas em mais de uma linha de terminal; Não gosto que o vim insira novas linhas no meu texto real. Qual parte do .vimrc devo mudar?
Gosto que as longas filas sejam exibidas em mais de uma linha de terminal; Não gosto que o vim insira novas linhas no meu texto real. Qual parte do .vimrc devo mudar?
Respostas:
Usar
:set wrap
Para quebrar as linhas visualmente, ou seja, a linha ainda é uma linha de texto, mas o Vim a exibe em várias linhas.
Usar
:set nowrap
Para exibir linhas longas como apenas uma linha (ou seja, você precisa rolar horizontalmente para ver a linha inteira).
Eu gosto que as longas filas sejam exibidas em mais de uma linha terminal
Esse tipo de quebra de linha visual / virtual é ativado com a wrapopção da janela:
set wrap
Não gosto que o vim insira novas linhas no meu texto real.
Para desativar a quebra automática de linha, limpe as opções textwidthe wrapmarginbuffer:
set textwidth=0 wrapmargin=0
set textwidth=0 wrapmargin=0funciona, mas se eu colocá-lo .vimrc, ele não tem efeito, por exemplo, para arquivos de texto sem formatação. Como descubro e elimino a substituição?
:verbose set textwidth? wrapmargin?. Isso informará seus valores atuais e também onde eles foram definidos. É possível que você tenha um plugin que os substitua. Nesse caso, você pode desinstalar esse plug-in ou tentar substituir a configuração do plug-in posteriormente no seu caminho de execução (por exemplo:) ~/.vim/afterou com seu próprio comando automático. A abordagem correta dependerá de onde / como está sendo redefinida.
set wrape set linebreaké o que fez isso por mim.
Não sei se entendi completamente, mas você pode estar procurando a configuração 'formatoptions'. Tente algo parecido :set formatoptions-=t. A topção irá inserir quebras de linha para tornar o texto quebrado na largura definida por textwidth. Você também pode colocar este comando no seu .vimrc, basta remover os dois pontos ( :).
tw.
Use :set nowrap.. funciona como um encanto!
:set tw=0
O VIM não insere automaticamente quebras de linha, mas mantém a quebra de linha.
Você pode achar set lbrútil; com set wrapisso envolverá, mas apenas cortará a linha no espaço em branco e não no meio de uma palavra.
por exemplo
without lbr the li
ne can be split on
a word
e
with lbr on the
line will be
split on
whitespace only
set nolinebreakvez deset lbr
set formatoptions-=t Mantém a largura do texto visual, mas não adiciona nova linha no modo de inserção.
É estranho que uma configuração tão simples exija essa quantidade de 'hocus-pocus' para funcionar.
Para responder sua pergunta agora, para mim parecia funcionar com a combinação do seguinte:
:set wrap linebreak nolist
(isso parece impedir a quebra das linhas existentes, basta quebrar.)
E
set formatoptions=l
(isso evita que linhas novas / editadas quebrem, enquanto + = não faz isso por mim, pois outras configurações / plugins parecem encontrar espaço e adicionar suas próprias opções que substituem as minhas.)
Se, como eu, você estiver executando o gVim no Windows, o arquivo .vimrc poderá estar fornecendo outro arquivo 'exemplo' do Vimscript que automaticamente define textwidth(no meu caso 78) para arquivos de texto.
Minha resposta a uma pergunta semelhante a esta - Como parar o texto do gVim na coluna 80 - no site do Vi e Vim Stack Exchange :
No meu caso, o comentário de Vitor sugeriu que eu execute o seguinte:
:verbose set tw?Fazer isso me deu a seguinte saída:
textwidth=78 Last set from C:\Program Files (x86)\Vim\vim74\vimrc_example.vimNo vimrc_example.vim , encontrei as linhas relevantes:
" Only do this part when compiled with support for autocommands. if has("autocmd") ... " For all text files set 'textwidth' to 78 characters. autocmd FileType text setlocal textwidth=78 ...E descobri que meu .vimrc está fornecendo esse arquivo:
source $VIMRUNTIME/vimrc_example.vimNo meu caso, não quero
textwidthser definido para nenhum arquivo, então apenas comentei a linha relevante em vimrc_example.vim .
autocmd FileType text setlocal textwidth=0ao arquivo vimrc e isso corrigia o problema quando outras soluções propostas não o faziam.
É correto que a configuração nowrap lhe permita colar em uma linha longa sem o vi / vim adicionar novas linhas, mas a linha não será visualizada automaticamente para facilitar a leitura. É apenas uma linha longa que você precisa percorrer.
Para que a linha seja quebrada visualmente, mas não tenha caracteres de nova linha inseridos, defina a quebra automática (que provavelmente é o padrão, portanto não é necessário definir) e defina a largura do texto = 0 .
Em alguns sistemas, a configuração de largura de texto = 0 é o padrão. Se não for esse o caso, adicione set textwidth = 0 ao seu arquivo .exrc para que ele se torne o padrão do usuário para todas as sessões do vi / vim.
:set nowrapé o oposto do que você deseja :(.