425 votes

Vim 80 colonnes mise en page des préoccupations

Je me sens comme la façon dont je fais de la colonne 80 indication dans Vim est incorrect: set columns=80. Parfois j'ai aussi l' set textwidth mais je tiens à être en mesure de voir et d'anticiper la ligne de débordement à l' set columns alternative.

Cela a des effets secondaires malheureux, je ne peux pas set number , de peur de diviser entre les fichiers qui ont les différents ordres de numéros de ligne; c'est à dire < 100 ligne des fichiers et >= 100 ligne de fichiers aurez besoin de deux différents set columns valeur en raison de la surcharge de la colonne utilisée pour le supplément de l'afficheur. J'ai aussi commencer de nouvelles (g)Vim séances au lieu de la division windows verticalement, ce qui m'oblige à utiliser la fenêtre du gestionnaire de presse-papiers -- vsplits me force à ne set columns chaque fois que j'ouvre ou la fermeture d'un volet, afin de commencer une nouvelle session est moins de tracas.

Comment gérez-vous les années 80 caractères indication lorsque vous souhaitez set numbers, découper verticalement, etc.?

787voto

Jeremy W. Sherman Points 22019

Comme de vim 7.3, vous pouvez utiliser set colorcolumn=80 (set cc=80 , pour faire court).

Depuis les versions antérieures ne prennent pas en charge ce, mon .vimrc utilise à la place:

if exists('+colorcolumn')
  set colorcolumn=80
else
  au BufWinEnter * let w:m2=matchadd('ErrorMsg', '\%>80v.\+', -1)
endif

La documentation en ligne n'a pas encore mis à jour pour vim 7.3. La seule source que j'ai trouvé pour la 7.3 documentation est le référentiel, où l' colorcolumn option est documentée dans runtime/doc/options.txt.

593voto

Simon Howard Points 5392

J'ai ce jeu dans mon .vimrc:

highlight OverLength ctermbg=red ctermfg=white guibg=#592929
match OverLength /\%81v.\+/

Cela met en évidence l'arrière-plan dans un subtil rouge pour le texte qui va au-dessus de la colonne 80 limite de subtils (en mode graphique, de toute façon - en mode terminal, c'est moins le cas).

58voto

Maksim Vi. Points 3313

Plus court chemin:

match ErrorMsg '\%>80v.\+'

30voto

Z.Zen Points 419

Simon Howard réponse est grande. Mais /\%81v.\+/ ne parvient pas à mettre en évidence les onglets qui dépassent la colonne 81 . J'ai donc fait une petite astuce, basé sur le stuff que j'ai trouvé sur VIM wiki et du HS choix de couleurs ci-dessus:

highlight OverLength ctermbg=darkred ctermfg=white guibg=#FFD9D9
match OverLength /\%>80v.\+/

Et maintenant, VIM va mettre en évidence tout ce qui dépasse la colonne 80. Cheers!

18voto

enter image description here

Minimaliste, pas-au-dessus de la démarche. Seulement la 79e caractère de lignes trop longues, se mis en évidence. Elle permet de surmonter quelques problèmes: des travaux sur de nouvelles fenêtres, débordant de mots sont mis en évidence correctement.

augroup collumnLimit
  autocmd!
  autocmd BufEnter,WinEnter,FileType scala,java
        \ highlight CollumnLimit ctermbg=DarkGrey guibg=DarkGrey
  let collumnLimit = 79 " feel free to customize
  let pattern =
        \ '\%<' . (collumnLimit+1) . 'v.\%>' . collumnLimit . 'v'
  autocmd BufEnter,WinEnter,FileType scala,java
        \ let w:m1=matchadd('CollumnLimit', pattern, -1)
augroup END

Note: attention, la FileType scala,java cette limite à la Scala et les fichiers source Java. Vous aurez probablement envie de le personnaliser. Si vous l'omettez, il serait de travailler sur tous les types de fichiers.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X