Par exemple, lorsque je tape la commande suivante,
echo line | (cat >/dev/null; vi)
même enveloppé dans une autre coquille,
sh -c 'echo line | (cat >/dev/null; vi)'
et revenu de Vim, maintenant il n’affiche plus le retour chariot.
Comment puis-je faire pour qu'il affiche à nouveau les nouvelles lignes? (Sans sortie.)
essayez un ou les deux:
ctrl+c
, puis tapez reset
, puis appuyez sur enter
.ctrl+c
, puis tapez stty sane
, puis appuyez sur enter
.le ctrl+c
efface tous les autres caractères que vous avez éventuellement tapés dans la ligne de commande.
reset
ou stty sane
corrige généralement un terminal en panne. Lisez la page de manuel de reset
et stty
pour plus d’informations.
Notez que si le terminal est suffisamment endommagé, il se peut que même ctrl+c
ou enter
ne fonctionne pas comme prévu. Il existe encore d'autres méthodes pour saisir des caractères, mais elles impliquent une ancienne magie noire. Dans ce cas, il est généralement plus facile de simplement fermer le terminal et d’en démarrer un autre.
Ma compréhension du fonctionnement interne d'un terminal n'est pas assez profonde pour expliquer pourquoi ou comment il le fait.
Ce n'est pas l'utilisation prévue de vi
pour prendre une entrée de stdin.
Quoi qu’il en soit, vous pouvez obtenir de nouvelles lignes avec
stty sane
sans réinitialiser le terminal.