Je suis intéressé à trouver un moyen de montrer une ligne verticale à la colonne 80 dans Vim (pas GVim).
J'ai utilisé set wrap
, mais je veux juste montrer une ligne verticale pour pouvoir envelopper la longue ligne moi-même.
Edit: Pour Vim> = 7.3, voir la réponse ci-dessous .
Malheureusement, vim ne dispose d'aucun mécanisme pour afficher une ligne verticale après une colonne comme vous le souhaitez (contrairement à TextMate, par exemple). Cependant, il existe d'autres indicateurs visuels que vous pouvez utiliser pour montrer 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
Vous pouvez donc utiliser <Leader>H
pour alterner les colonnes de plus de 80 en surbrillance.
Nouveau dans Vim 7.3:
'colorcolumn' est une liste séparée par des virgules de colonnes d'écran mises en surbrillance avec ColorColumn. Utile pour aligner le texte. Rend l'écran plus lent. La colonne d'écran peut être un nombre absolu ou un nombre précédé de "+" ou "-", qui est ajouté ou soustrait à "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
Il existe un autre moyen de notifier la longue ligne.
mettre en surbrillance OverLength ctermbg = red ctermfg = white guibg = # 592929
correspond à OverLength /\%81v.*/
J'utilise match ErrorMsg '\%>80v.\+'
qui mettra en évidence tout ce qui dépasse 80 caractères en rouge.
Je mets cette commande dans mes python.vim et Ruby.vim sous ~/.vim/after/ftplugin /.
Plusieurs réponses ici http://vim.wikia.com/wiki/Highlight_long_lines autocontrôle simple
:au BufWinEnter * let w:m1=matchadd('Search', '\%<81v.\%>77v', -1)
:au BufWinEnter * let w:m2=matchadd('ErrorMsg', '\%>80v.\+', -1)