Je suis intéressé à trouver un moyen d'afficher une ligne verticale à la colonne 80 dans Vim (pas GVim).
J'ai utilisé set wrap
, mais je veux juste montrer une ligne verticale afin que je puisse envelopper la longue ligne moi-même.
Je suis intéressé à trouver un moyen d'afficher une ligne verticale à la colonne 80 dans Vim (pas GVim).
J'ai utilisé set wrap
, mais je veux juste montrer une ligne verticale afin que je puisse envelopper la longue ligne moi-même.
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
):
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>H
pour basculer les colonnes sur 80 en surbrillance.
Nouveau dans Vim 7.3:
'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:
:set colorcolumn=80
highlight
paramètre doit être défini après toutes les colorscheme
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.
surligner OverLength ctermbg = red ctermfg = white guibg = # 592929
match OverLength /\%81v.*/
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 /.
Plusieurs réponses ici http://vim.wikia.com/wiki/Highlight_long_lines autocommande simple
:au BufWinEnter * let w:m1=matchadd('Search', '\%<81v.\%>77v', -1)
:au BufWinEnter * let w:m2=matchadd('ErrorMsg', '\%>80v.\+', -1)