Почему команда tee выводит что-то очень странное, когда я записываю результат из VIM?

251
Ted Wong

Я могу распознать приветственное сообщение, например: VIM - Vi IMproved[9;35Hversion 7.3[10;29Hby Bram Moolenaar et al.[11;19HVim is open source and freely distributable[13;26HBecome a registered Vim user![14;18Htype :help register[34m<Enter>[m for information [16;18Htype :q[34m<Enter>[m to exit [17;18Htype :help[34m<Enter>[m or [34m<F1>[m for on-line help[18;18Htype :help version7[34m<Enter>[m for version info[1;1H[?12l[?25h[?25l[24;1H

и некоторые cmd 1m-- INSERT --[1;1H[?12l[?25h[?25l[mT[7;32H[94m, но сообщение, которое я печатаю, полностью не читается. Вот что я записываю, используя этот cmd:

vim | tee -a /Users/User/Desktop/vim.txt

enter image description here

-1
Что, черт возьми, ты пытаешься сделать? romainl 10 лет назад 3

1 ответ на вопрос

2
UnlimitedInfinity

Если вам интересно, что вы захватили:

вы захватили escape-последовательности, которые использует vim для управления выводом на ваш терминал.

Вы, кажется, просматриваете vim.txt с vim. Используйте меньше вместо:

less /Users/User/Desktop/vim.txt 

Затем вы должны увидеть, что каждой квадратной скобке «[» предшествует escape-символ (ESC).

Для получения дополнительной информации о том, что вы видите, ищите "terminfo" и "ncurses".

Похожие вопросы