Como mostrar a linha vertical para quebrar a linha no Vim?


Respostas:


15

Editar: Para Vim> = 7.3 veja a resposta abaixo .

Infelizmente, o vim não tem nenhum mecanismo para exibir uma linha vertical após uma coluna como você deseja (ao contrário, digamos, TextMate). No entanto, existem indicadores visuais alternativos que você pode usar para mostrar que uma linha é muito longa.

Aqui está o que eu uso (você pode colocar no seu .vimrc):

nnoremap <Leader>H :call<SID>LongLineHLToggle()<cr>
hi OverLength ctermbg=none cterm=none
match OverLength /\%>80v/
fun! s:LongLineHLToggle()
 if !exists('w:longlinehl')
  let w:longlinehl = matchadd('ErrorMsg', '.\%>80v', 0)
  echo "Long lines highlighted"
 else
  call matchdelete(w:longlinehl)
  unl w:longlinehl
  echo "Long lines unhighlighted"
 endif
endfunction

Então você pode usar <Leader>Hpara alternar as colunas acima de 80 sendo realçadas.


A representação do script vim da chave líder. Consulte Mostrar configuração atual da tecla <leader>
Rod

@ Will, Aprenda Vimscript da maneira mais difícil é um bom recurso para aprender sobre a toca do coelho do vim.
jazzabeanie

310

Novo no Vim 7.3:

'colorcolumn' é uma lista separada por vírgulas de colunas da tela que são destacadas com ColorColumn. Útil para alinhar o texto. Tornará o redesenho da tela mais lento. A coluna da tela pode ser um número absoluto ou um número precedido por '+' ou '-', que é adicionado ou subtraído da 'largura do texto'.

Exemplo dos documentos:

:set colorcolumn=+1        " highlight column after 'textwidth'
:set colorcolumn=+1,+2,+3  " highlight three columns after 'textwidth'
:highlight ColorColumn ctermbg=lightgrey guibg=lightgrey

Você também pode usar números absolutos:

:set colorcolumn=80

4
Acho que é bom observar aqui que a cor é determinada automaticamente pela cor de realce, a menos que você a defina manualmente como no exemplo.
Alex Hart,

Observe que a highlightconfiguração deve ser definida após qualquer colorschemecomando, pois isso anularia a cor de destaque.
c4urself de

7
Eu escolhi brilhante, queime seu cérebro vermelho ... porque você sabe ... comprimento da linha
Ron Dahlgren

Você conhece uma maneira de ter duas cores diferentes para a coluna colorida? Eu gostaria de ter dois: um simples com 80 caracteres para o código e um muito fraco com 72 caracteres para texto corrido / comentários.
Alice

Seria bom mencionar que textwidthtambém faz o vim quebrar quando você está digitando.
pintos


6

Eu uso o match ErrorMsg '\%>80v.\+'qual destacará qualquer coisa acima de 80 caracteres com vermelho.

Coloquei esse comando em meu python.vim e ruby.vim em ~ / .vim / after / ftplugin /.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.