Como configurar um marcador de comprimento de linha no vim / gvim?

69

Alguns editores de texto GUI têm uma linha vertical que serve como marcador de comprimento de linha (ajuda a manter linhas com menos de 80 caracteres nos arquivos de código-fonte).

É possível ter algo semelhante no vim / gvim? Eu sei sobre a opção régua vim, mas não é muito útil segui-lo visualmente em uma tela grande.

Editar: quando pesquisando sobre "colorcolumn" para saber mais, descobri que essa pergunta é uma duplicata de link

    
por vtest 24.02.2011 / 14:44

4 respostas

114

Basta executar isso

:set colorcolumn=72

Você também pode prefixar o argumento com - ou + para colocar o marcador com muitas colunas à esquerda ou à direita de textwidth e aceita uma lista de colunas separadas por vírgula. Eu acho que a opção colorcolumn é apenas no Vim 7.3. Veja

:help colorcolumn
    
por 24.02.2011 / 17:46
15

De "More Instantly Better Vim", de Damian Conway, na OSCON 2013:

highlight ColorColumn ctermbg=magenta
call matchadd('ColorColumn', '\%81v', 100)

Isso resulta no personagem sendo destacado em magenta (a captura de tela está em DarkCyan ) quando a linha ultrapassa o máximo de 80 caracteres.

ParagVim:émelhor mover essas duas linhas para a última parte do seu arquivo .vimrc para garantir funciona.

    
por 21.06.2014 / 06:12
2

Você pode tentar isso:

grep '.\{81\}' file

ou

set colorcolumn=80

(ou o equivalente em taquigrafia)

set cc=80

ou como acima mencionado:

match ErrorMsg '\%>80v.\+'
    
por 02.05.2015 / 09:21
0

Abaixo está um truque desajeitado de Hacking Vim: um livro de receitas para tirar o máximo proveito do mais recente editor do Vim de Kim Schultz.

Destaca com ErrorMsg (normalmente vermelho brilhante) qualquer linha que ultrapasse 80 caracteres. Funciona bem para mim.

function! RemoveWidthLimitWarnigns()
    silent! call matchdelete(4)
endfunction
function! InsertWidthLimitWarnings()
    call RemoveWidthLimitWarnigns()
    call matchadd("ErrorMsg", "\%>79v.\+", 10, 4)
endfunction
    
por 24.02.2011 / 15:26

Tags