Você está provavelmente (tentando) redirecionar a saída do seu shell para um arquivo, por exemplo, algo como
bash -i | tee foo
$ vim
Vim: Warning: Output is not to a terminal
Enquanto você pode ler (a maioria) comandos do teclado através dessa abordagem, a saída não é mais um terminal. Você pode recuperar fechando esse shell e capturando a saída de uma maneira diferente: o comando script
pode capturar a saída enviada para um terminal sem interferir com ela. Por exemplo
script -c bash foo
irá escrever todos o texto enviado para o terminal enquanto executa o comando bash
, e a saída ainda será um terminal (ao invés de um pipe ou um arquivo).
Leitura adicional: