В моем скрипте я печатаю символы возврата на задний план, чтобы реализовать некоторый пользовательский интерфейс в консоли, как это описано здесь .
Это работает хорошо, но теперь я хочу сохранить выходные данные в моемфайл журнала (через перенаправление stdout).Когда я читаю этот файл с помощью инструментов командной строки, таких как tail
или less
, я получаю final 'output view' моего скрипта (т.е. в этом случае завершенную строку прогресса), и это поведениедля меня предпочтительнее.Но если я открою файл журнала с помощью vim, он покажет все записанные символы в файл с просто экранированием от обратной косой черты как ^H
.
Как я могу настроить мой vim таким же образом, чтобы отображать мой файл журналаless
или tail
здесь?
Вот пример.
1) Скрипт python:
import sys
import time
for i in range(10):
if i: sys.stdout.write(chr(8) * 10)
sys.stdout.write(str(i) * 10)
sys.stdout.flush()
time.sleep(0.5)
sys.stdout.write('\n')
sys.stdout.flush()
2) Запуск скрипта:python program.py > out.txt
3) Вывод cat out.txt
:
$ cat out.txt
9999999999
4) Отображение содержимого моего vim out.txt
:
0000000000^H^H^H^H^H^H^H^H^H^H1111111111^H^H^H^H^H^H^H^H^H^H2222222222^H^H^H^H^H^H^H^H^H^H3333333333^H^H^H^H^H^H^H^H^H^H4444444444^H^H^H^H^H^H^H^H^H^H5555555555^H^H^H^H^H^H^H^H^H^H6666666666^H^H^H^H^H^H^H^H^H^H7777777777^H^H^H^H^H^H^H^H^H^H8888888888^H^H^H^H^H^H^H^H^H^H9999999999