Estou um pouco intrigado com alguns valores padrão no Vim. Em particular, pois gq{motion}
, diz-se que
[...]
If the 'textwidth' option is 0, the formatted line
length is the screen width (with a maximum width of
79).
Eu pensei que deveria ter feito mais sentido se tivesse definido a largura máxima como 80
, em vez disso.
Alguém pode me esclarecer sobre isso? Acho que estou perdendo alguma coisa.
formatting
Atcold
fonte
fonte
80
é um "padrão" bastante arbitrário para começar, então ... por que não79
? Agora, a quebra automática de linhas79
em um80
terminal de colunas dá um pouco mais de espaço à direita e pode melhorar a legibilidade. github.com/vim/vim/blob/…80
terminal de toda a coluna, a última coluna tenha sido reservada para o símbolo de quebra automática? Ainda assim, se você tiver números de linha, eles definitivamente terão mais do que apenas uma coluna. Então, eu ainda estou confuso. Além disso, a partir do código que você vinculou,79
o valor máximo pode ser usado? Talvez eu não tenha entendido o que li.textwidth
e terminar.tw=79
em vez detw=80
exibir uma linha com 80 caracteres em um terminal de 80 colunas imprime uma nova linha extra.Respostas:
Não tenho nenhuma evidência de que foi por isso que 79 foi originalmente escolhido, mas um bom motivo para deixá- lo nesse valor é porque, se você usar
'list'
com um valor incluídoeol
em'listchars'
, a exibição do listchar causará um caractere de 80 caracteres. linha de comprimento para envolver a próxima linha em um terminal de 80 caracteres.Se a linha tiver apenas 79 caracteres, a coluna 80 estará livre para o final da linha
listchar
.fonte
'list'
? O que isso deve fazer?:help 'list'
ou tente executar:set list
para vê-lo em ação.:set list
não faz muito. Aposto que não tenhoeol
olistchars
. Não tenho muita certeza de que essa seja a razão por trás dos79
personagens. Eu acredito que @ sato-katsura tem a melhor resposta no comentário.eol
está'listchars'
ativado por padrão, mas é claro que é possível que algo em sua configuração tenha removido. Em minha resposta, afirmo especificamente que não tenho motivos para acreditar que esse foi o motivo histórico pelo qual o 79 foi originalmente escolhido. Estou apenas dando outra razão pela qual continua sendo um bom valor para usar agora.É importante perceber que este "padrão" só se aplica aos
gq
egw
comandos e auto-formato como descrito nessa seção. O padrãotextwidth
é 0. Além disso,:right
e o:center
padrão é 80, não 79.Quanto ao motivo pelo qual 79 foi escolhido, não pode ser uma retenção direta do vi
gq
, poisgw
, e o formato automático não existe no vi. Isso é principalmente especulação, mas acredito que o padrão 79 para o formato automático foi escolhido por consistência com o empacotamento automático existente do vi. Que isso se aplicagq
egw
é um efeito colateral; pode-se esperar que 80 teriam sido escolhidos de outra forma.No vi (e no vim se
textwidth=0
), o texto inicia o agrupamento automático na largura da janela menoswrapmargin
. No entanto, sewrapmargin=0
nenhum empacotamento automático ocorrerá. Isso significa que se você estava usando um ADM-3A com um limite de 80 caractereswrapmargin=1
, a largura máxima com quebra automática é 79. Uma vantagem desse comportamento é que há um lugar para o cursor viver enquanto aguarda para ver o que o próximo personagem será antes de decidir onde embrulhar. Obviamente, vi e vim podem colocar o cursor na próxima linha (como observado ao digitar uma palavra muito longa), mas deixar uma coluna extra é um pouco melhor.fonte