Estou interessado em encontrar uma maneira de mostrar uma linha vertical na coluna 80 no Vim (não no GVim).
Eu usei set wrap
, mas só quero mostrar uma linha vertical para que eu mesmo possa quebrar a linha longa.
Estou interessado em encontrar uma maneira de mostrar uma linha vertical na coluna 80 no Vim (não no GVim).
Eu usei set wrap
, mas só quero mostrar uma linha vertical para que eu mesmo possa quebrar a linha longa.
Respostas:
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>H
para alternar as colunas acima de 80 sendo realçadas.
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
highlight
configuração deve ser definida após qualquer colorscheme
comando, pois isso anularia a cor de destaque.
textwidth
também faz o vim quebrar quando você está digitando.
Existe outra maneira de notificar sobre a longa fila.
destaque OverLength ctermbg = red ctermfg = white guibg = # 592929
match OverLength /\%81v.*/
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 /.
Várias respostas aqui http://vim.wikia.com/wiki/Highlight_long_lines autocommand simples
:au BufWinEnter * let w:m1=matchadd('Search', '\%<81v.\%>77v', -1)
:au BufWinEnter * let w:m2=matchadd('ErrorMsg', '\%>80v.\+', -1)