.png)
Если у меня есть файл значений, разделенных табуляцией, и я говорю cat
это, он красиво отображает файл для меня, все выстроено правильно. Теперь, если я попробую скопировать и вставить (используя мышь) в другой текстовый редактор. Табуляция становится пробелами!?
Существует ли эмулятор терминала, который отображает символы табуляции как обычные символы табуляции, а не как пробелы?
Вот тест:
echo -e "first"$'\t'"second"$'\t'"third"$'\n'"1"$'\t'"2"$'\t'"3" > tsv.tsv
cat tsv.tsv
Теперь попробуйте скопировать и вставить в текстовый редактор с графическим интерфейсом.
решение1
Эмуляторы терминала на основе vte
виджета (например gnome-terminal
, ) в этом случае сохраняют TAB.
Обратите внимание, что это ограничивается только самым простым сценарием использования, когда символ TAB не перемещается по уже существующему контенту.
Большинство эмуляторов терминала преобразуют его в пробелы, поскольку для терминалов TAB не является печатным символом, это управляющая последовательность, которая перемещает курсор. Например, если вы нажмете TAB на существующие символы, эти символы останутся там и не будут стерты (не будут заменены пробелами).
решение2
Вы, вероятно, не найдете ни одного. По моему опыту, даже терминалы, которые эмулируют эмуляторы терминалов, отображали табуляции в пробелы на дисплее. Конечно, вы могли бы установить табуляции на VT100, так что это не было жестко связанным определением того, что такое табуляция на экране. Если вы отправляли escape-последовательность на печать экрана на настоящем VT100 Digital Equipment Corporation, он отправлял бы пробелы на принтер, где табуляции отображались как пробелы.
В качестве альтернативного решения рассмотрите возможность открытия вашего исходного документа с вкладками в отдельном сеансе вашего графического редактора. Затем выберите нужный текст, вырежьте и вставьте в целевой документ, открытый в другом сеансе. Например, я знаю, что gvim
скопирует символы табуляции в буфер обмена.
Поддерживает ли ваш конкретный графический редактор эту функцию, на данный момент остается лишь догадываться.