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 wrap
opçã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 textwidth
e wrapmargin
buffer:
set textwidth=0 wrapmargin=0
set textwidth=0 wrapmargin=0
funciona, 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/after
ou com seu próprio comando automático. A abordagem correta dependerá de onde / como está sendo redefinida.
set wrap
e 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 t
opçã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 wrap
isso 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 nolinebreak
vez 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.vim
No 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.vim
No meu caso, não quero
textwidth
ser definido para nenhum arquivo, então apenas comentei a linha relevante em vimrc_example.vim .
autocmd FileType text setlocal textwidth=0
ao 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 :(.