Edit: Pour Vim> = 7.3 voir la réponse ci-dessous .
Malheureusement, vim n'a pas de mécanisme pour afficher une ligne verticale après une colonne comme vous le souhaitez (contrairement, par exemple, à TextMate). Cependant, il existe d'autres indicateurs visuels que vous pouvez utiliser pour indiquer qu'une ligne est trop longue.
Voici ce que j'utilise (vous pouvez mettre ceci dans votre .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
Ainsi, vous pouvez utiliser <Leader>Hpour basculer les colonnes sur 80 en surbrillance.
'colorcolumn' est une liste de colonnes d'écran séparées par des virgules qui sont mises en évidence avec ColorColumn. Utile pour aligner le texte. Ralentit le rafraîchissement de l'écran. La colonne de l'écran peut être un nombre absolu, ou un nombre précédé de «+» ou «-», qui est ajouté ou soustrait de «textwidth».
Exemple tiré de la documentation:
:set colorcolumn=+1 " highlight column after 'textwidth'
:set colorcolumn=+1,+2,+3 " highlight three columns after 'textwidth'
:highlight ColorColumn ctermbg=lightgrey guibg=lightgrey
Vous pouvez également utiliser des nombres absolus:
Je pense qu'il est bon de noter ici que la couleur est automatiquement déterminée par votre couleur de surbrillance à moins que vous ne la définissiez manuellement comme dans l'exemple.
Alex Hart
Notez que le highlightparamètre doit être défini après toutes les colorschemecommandes, car cela remplacerait votre couleur de surbrillance.
c4urself
7
Je suis allé avec brillant, brûlez-votre-cerveau-rouge ... parce que vous savez ... longueur de ligne
Ron Dahlgren
Connaissez-vous un moyen d'avoir deux couleurs différentes pour la colonne de couleur? Je voudrais en avoir deux: un simple à 80 caractères pour le code, et un très faible à 72 caractères pour le texte / commentaires qui coule.
Alice
Il serait bon de mentionner que cela textwidthentraîne également un encapsulation de vim lorsque vous tapez.
poussins
12
Il existe une autre façon de signaler la longue file d'attente.
surligner OverLength ctermbg = red ctermfg = white guibg = # 592929
match OverLength /\%81v.*/
Réponses:
Edit: Pour Vim> = 7.3 voir la réponse ci-dessous .
Malheureusement, vim n'a pas de mécanisme pour afficher une ligne verticale après une colonne comme vous le souhaitez (contrairement, par exemple, à TextMate). Cependant, il existe d'autres indicateurs visuels que vous pouvez utiliser pour indiquer qu'une ligne est trop longue.
Voici ce que j'utilise (vous pouvez mettre ceci dans votre
.vimrc
):Ainsi, vous pouvez utiliser
<Leader>H
pour basculer les colonnes sur 80 en surbrillance.la source
Nouveau dans Vim 7.3:
Exemple tiré de la documentation:
Vous pouvez également utiliser des nombres absolus:
la source
highlight
paramètre doit être défini après toutes lescolorscheme
commandes, car cela remplacerait votre couleur de surbrillance.textwidth
entraîne également un encapsulation de vim lorsque vous tapez.Il existe une autre façon de signaler la longue file d'attente.
Problèmes de mise en page des colonnes Vim 80
la source
J'utilise
match ErrorMsg '\%>80v.\+'
ce qui mettra en évidence tout ce qui dépasse 80 caractères avec du rouge.J'ai mis cette commande dans mon python.vim et ruby.vim sous ~ / .vim / after / ftplugin /.
la source
Plusieurs réponses ici http://vim.wikia.com/wiki/Highlight_long_lines autocommande simple
la source