A imagem aparece para mostrar esses recursos funcionando :
- cor (talvez)
- cursor-addressing ( algo moveu o cursor para o lugar certo) Guias
- (desconhecido: se o terminal foi reivindicado para suportar as guias de hardware, mas não fez nada, essa segunda linha começaria na margem esquerda)
Mas essa segunda linha é o problema. O Vim poderia ter tentado mover o cursor diretamente para baixo a partir da chave (com um avanço de linha) e obter um retorno de linha / retorno de carro. Isso poderia explicar o espaço, e o vim faz esse tipo de otimização em screen.c
:
else if (plan == PLAN_NL)
{
if (noinvcurs)
screen_stop_highlight();
while (screen_cur_row < row)
{
out_char('\n');
++screen_cur_row;
}
screen_cur_col = 0;
}
Nas suas configurações de stty
, isso seria onlcr
:
onlcr (-onlcr)
Map (do not map) NL to CR-NL on output.
que parece estar desligado normalmente. Uma de suas configurações stty
pode ter confundido vim (ou tela), então o resultado é como mostrado.
Por exemplo, em uma verificação rápida, eu fiz isso (com um caractere de tabulação literal)
$ stty ocrnl
$ cat >foo
$ cat >foo <<EOF
if(a) {
/*then b */
}
EOF
$ vim foo
e veja isso (demonstrando que o vim pode ser confundido pela configuração de ocrnl
):
if(a) {
/*then b */
}
Mas então (sair do vim) e
$ stty -ocrnl
$ vim foo
mostra
if(a) {
/*then b */
}
Por que vale a pena, o vi-like-emacs faz a coisa certa neste caso.