Comment afficher la ligne verticale pour envelopper la ligne dans Vim?

Je suis intéressé à trouver un moyen de montrer une ligne verticale à la colonne 80 dans Vim (pas GVim).

J’ai utilisé le set wrap , mais je veux juste montrer une ligne verticale pour que je puisse emballer moi-même la longue ligne.

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 le mettre dans votre .vimrc ):

 nnoremap H :callLongLineHLToggle() 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 

Donc, vous pouvez utiliser H pour basculer les colonnes de plus de 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. Facilitera le redessinage de l’écran. La colonne d’écran peut être un nombre absolu ou un nombre précédé de ‘+’ ou de ‘-‘, qui est ajouté ou soustrait à ‘textwidth’.

Exemple des documents:

 :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 y a une autre façon de notifier la ligne longue.

mettre en évidence Overlength ctermbg = ctermfg rouge = guibg blanc = # 592929
match OverLength /\%81v.*/

Vim 80 problèmes de disposition de la colonne

J’utilise la match ErrorMsg '\%>80v.\+' mettra en évidence tout élément dépassant 80 caractères avec le 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 autocommande simple

 :au BufWinEnter * let w:m1=matchadd('Search', '\%<81v.\%>77v', -1) :au BufWinEnter * let w:m2=matchadd('ErrorMsg', '\%>80v.\+', -1)