Question Comment configurer un marqueur de longueur de ligne dans vim / gvim?


Certains éditeurs de texte à interface graphique ont une ligne verticale qui sert de marqueur de longueur de ligne (cela permet de garder des lignes plus courtes que 80 caractères dans les fichiers de code source).

Est-il possible d'avoir quelque chose de similaire dans vim / gvim? Je connais règle vim option, mais il n'est pas très pratique de le suivre visuellement sur un grand écran.

Edit: quand googler pour "colorcolumn" pour en savoir plus, j'ai trouvé que cette question est une copie de https://stackoverflow.com/questions/235439/vim-80-column-layout-concerns


67
2018-02-24 13:44


origine


dupliquer sur un autre site ... stackoverflow.com/questions/235439/... - Trevor Boyd Smith


Réponses:


Exécute juste ceci

:set colorcolumn=72

Vous pouvez également préfixer l'argument avec - ou + pour mettre le marqueur que beaucoup de colonnes à gauche ou à droite de textwidth, et accepte une liste de colonnes séparées par des virgules. Je pense que le colorcolumn l'option est uniquement dans Vim 7.3. Voir

:help colorcolumn

111
2018-02-24 16:46



Waouh, vim ne cesse jamais de m'étonner! - Peter Nore
Agréable! Aussi utile quand columns=80, wrap est réglé et colorcolumn=81,161,241,321,401,481,561,641,721,801 - Affiche jusqu'à 10 lignes avec la première colonne en surbrillance. - Amir


De Damian Conway "Plus instantanément mieux parler Vim" à OSCON 2013:

highlight ColorColumn ctermbg=magenta
call matchadd('ColorColumn', '\%81v', 100)

Il en résulte que le caractère est mis en évidence en magenta (la capture d'écran est en DarkCyan) lorsque la ligne dépasse le maximum de 80 caractères.

vim with highlighting enabled

Pour gVim: il est préférable de déplacer ces 2 lignes vers la dernière partie de votre .vimrc fichier pour vous assurer qu'il fonctionne.


15
2018-06-21 04:12



Huh! Je viens de répondre à votre très question similaire sur ce petit monde! superuser.com/questions/771558/... - lornix
J'ai mis cette réponse, puis je me suis souvenu que je ne pouvais pas le faire en gVim, alors j'ai demandé. ;) - Isxek
Wow, c'est vraiment génial! C'est le genre de fonctionnalité que je ne saurais même pas rechercher. J'utilise le motif '\$81v\S' qui ne correspond qu'à des caractères non blancs. Cela signifie que le point culminant ne sera pas affiché lorsque la ligne aura exactement 80 caractères (ce qui me dérange vraiment). Voir ceci pour plus d'informations stackoverflow.com/questions/12985042/ - fvgs
Vous voulez apporter quelques corrections à mon commentaire précédent. le $ aurait dû être un %. De même, j'utilise maintenant le motif \%81v. puisque cela garantit que la 81ème colonne sera surlignée pour n'importe quel caractère de la 81ème colonne, ce qui est probablement ce que vous voulez. - fvgs


Vous pourriez essayer ceci:

grep '.\{81\}' file

ou

set colorcolumn=80

(ou l'équivalent en sténographie)

set cc=80

ou comme mentionné ci-dessus:

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

2
2018-05-02 07:21





Voici un truc maladroit de la part de Hacking Vim: un livre de recettes pour tirer le meilleur parti du dernier éditeur de Vim  par Kim Schultz.

Il met en évidence avec ErrorMsg (généralement rouge vif) toutes les lignes dépassant 80 caractères. Fonctionne bien pour moi.

function! RemoveWidthLimitWarnigns()
    silent! call matchdelete(4)
endfunction
function! InsertWidthLimitWarnings()
    call RemoveWidthLimitWarnigns()
    call matchadd("ErrorMsg", "\\%>79v.\\+", 10, 4)
endfunction

0
2018-02-24 14:26



Qu'est-ce que je suis censé faire avec cet extrait? Il suffit de le coller dans .vimrc? - vtest
Essayer d'abord en appelant :call matchadd("ErrorMsg", "\\%>79v.\\+", 10, 4) suffit. Mais je ne le recommanderais plus puisque @garyjohn savait quelque chose de mieux - progo