Je suis un peu perplexe à propos de certaines valeurs par défaut dans Vim. En particulier, car gq{motion}
, dit-on,
[...]
If the 'textwidth' option is 0, the formatted line
length is the screen width (with a maximum width of
79).
Je pensais que cela aurait dû avoir plus de sens s'il avait défini la largeur maximale à la 80
place.
Quelqu'un peut-il m'éclairer à ce sujet? Je suppose que je manque quelque chose.
formatting
Atcold
la source
la source
80
est-ce un "standard" assez arbitraire pour commencer alors ... pourquoi pas79
? Maintenant, l'encapsulation des lignes79
dans un80
terminal à l'échelle des colonnes donne un peu plus de place à droite et peut améliorer la lisibilité. github.com/vim/vim/blob/…80
terminal à l'échelle des colonnes, la dernière colonne était réservée au symbole d'habillage? Pourtant, si vous avez des numéros de ligne, ils prendront certainement plus d'une seule colonne. Donc, je suis toujours perplexe. De plus, à partir du code que vous avez lié,79
la valeur maximale peut-elle être utilisée? Peut-être que je n'ai pas compris ce que j'ai lu.textwidth
et en finir.tw=79
au lieu detw=80
car afficher une ligne de 80 caractères sur un terminal de 80 colonnes imprime une nouvelle ligne supplémentaire.Réponses:
Je n'ai aucune preuve que c'est la raison pour laquelle 79 a été choisi à l'origine, mais une bonne raison de le laisser à cette valeur est parce que si vous utilisez
'list'
avec une valeur incluseeol
dans,'listchars'
l'affichage de listchar provoquera 80 caractères. ligne de longueur pour passer à la ligne suivante dans un terminal de 80 caractères.Si la ligne ne comporte que 79 caractères, la 80e colonne est libre pour que la fin de la ligne
listchar
puisse s'asseoir.la source
'list'
? Que doit-il faire?:help 'list'
ou simplement essayer de courir:set list
pour le voir en action.:set list
ne fait pas grand chose. Je parie que je n'ai paseol
dans lelistchars
. Je ne suis pas sûr que ce soit la raison derrière les79
personnages. Je crois que @ sato-katsura a la meilleure réponse dans le commentaire.eol
est'listchars'
par défaut, mais bien sûr, il est possible que quelque chose dans votre configuration l'ait supprimé. Je déclare spécifiquement dans ma réponse que je n'ai aucune raison de croire que c'était la raison historique pour laquelle 79 a été choisi à l'origine. Je donne juste une autre raison pour laquelle il continue d'être une bonne valeur à utiliser, maintenant.Il est important de se rendre compte que ce « défaut » applique uniquement aux
gq
etgw
commandes et format automatique comme décrit dans cette section. La valeur par défauttextwidth
est 0. De plus,:right
et la:center
valeur par défaut est 80, pas 79.Quant à savoir pourquoi 79 a été choisi, il ne peut pas être mise en réserve de vi directe depuis
gq
,gw
et le format automatique n'existent pas dans vi. C'est surtout de la spéculation, mais je crois que la valeur par défaut de 79 pour le formatage automatique a été choisie par souci de cohérence avec le conditionnement automatique existant de vi. Que cela s'appliquegq
etgw
est un effet secondaire; on pourrait penser que 80 auraient été choisis autrement.Dans vi (et dans vim si
textwidth=0
), le texte démarre automatiquement à la largeur de la fenêtre moinswrapmargin
. Cependant, siwrapmargin=0
aucun habillage automatique n'a lieu. Cela signifie que si vous utilisiez un ADM-3A avec une limite de 80 caractères, avecwrapmargin=1
, la largeur maximale avec habillage automatique est de 79. Un avantage de ce comportement est qu'il y a une place pour que le curseur vive en attendant de voir ce que le personnage suivant va être avant de décider où envelopper. Bien sûr, vi et vim pourraient placer le curseur sur la ligne suivante (comme observé lors de la frappe d'un mot très long) mais laisser une colonne supplémentaire est un peu plus agréable.la source