Alguns editores de texto da GUI têm uma linha vertical que serve como marcador de comprimento de linha (ajuda a manter linhas menores que 80 caracteres nos arquivos de código-fonte).
É possível ter algo semelhante no vim / gvim? Eu sei sobre a opção de régua vim, mas não é muito útil segui-la visualmente em uma tela grande.
Edit: ao pesquisar no "colorcolumn" para saber mais, descobri que esta pergunta é uma duplicata de https://stackoverflow.com/questions/235439/vim-80-column-layout-concerns
Respostas:
Apenas execute isso
Você também pode prefixar o argumento com
-
ou+
para colocar o marcador de muitas colunas à esquerda ou à direitatextwidth
, e ele aceita uma lista de colunas separadas por vírgula. Eu acho que acolorcolumn
opção está apenas no Vim 7.3. Vejofonte
columns=80
,wrap
é definido ecolorcolumn=81,161,241,321,401,481,561,641,721,801
- mostra até 10 linhas quebradas com a primeira coluna destacada.Da palestra "Mais Instantaneamente Melhor do Vim" de Damian Conway na OSCON 2013:
Isso resulta no caractere sendo destacado em magenta (a captura de tela aparece
DarkCyan
) quando a linha ultrapassa o máximo de 80 caracteres.Para o gVim: é melhor mover essas duas linhas para a última parte do seu
.vimrc
arquivo para garantir que funcione.fonte
'\$81v\S'
que corresponde apenas a caracteres que não são espaços em branco. Isso significa que o destaque não será exibido quando a linha tiver exatamente 80 caracteres (o que é algo que realmente me incomodou). Veja isso para obter mais informações stackoverflow.com/questions/12985042/…$
deveria ter sido um%
. Da mesma forma, agora uso o padrão,\%81v.
pois isso garante que a coluna 81 seja destacada para qualquer caractere na coluna 81, que provavelmente é o que você deseja.Você pode tentar o seguinte:
ou
(ou o equivalente abreviado)
ou conforme mencionado acima:
fonte
Abaixo está um truque desajeitado de Hacking Vim: A Cookbook para aproveitar ao máximo o Editor de Vim Mais Recente de Kim Schultz.
Destaca com
ErrorMsg
(geralmente vermelho brilhante) todas as linhas com mais de 80 caracteres. Funciona bem para mim.fonte
:call matchadd("ErrorMsg", "\\%>79v.\\+", 10, 4)
é suficiente. Mas eu não recomendo este mais uma vez que @garyjohn sabia que algo melhor