Если у меня есть файл значений, разделенных табуляцией, и я говорю cat , он прекрасно отображает файл для меня, все выстроено правильно. Теперь, если я попытаюсь скопировать вставить (используя мою мышь), в другой текстовый редактор. Вкладки становятся пробелами !?

Есть ли эмулятор терминала, который отображает вкладки как буквальные вкладки, а не как пробелы?

Вот тест:

echo -e "first"$'\t'"second"$'\t'"third"$'\n'"1"$'\t'"2"$'\t'"3" > tsv.tsv
cat tsv.tsv

Теперь попробуйте скопировать и вставить в текстовый редактор с графическим интерфейсом.

2 ответа2

1

Вы, вероятно, не найдете его. По моему опыту, даже терминалы, в которых эмуляторы терминалов эмулируют визуализированные вкладки в отображаемых местах. Конечно, вы можете установить табуляцию на VT100, так что это не было жестким определением того, что вкладка была на экране. Если вы отправили управляющую последовательность на экран печати на реальной корпорации Digital Equipment VT100, она отправит пробелы на принтер, где вкладки были отображены как пробелы.

В качестве альтернативного решения рассмотрите возможность открытия исходного документа с вкладками в отдельном сеансе редактора графического интерфейса. Затем выберите нужный текст, вырезайте и вставляйте в целевой документ, который вы открыли в другом сеансе. Например, я знаю, что gvim скопирует символы табуляции в буфер обмена.

Поддерживает ли ваш конкретный редактор графического интерфейса это просто вопрос на данный момент.

1

Эмуляторы терминала на основе виджета vte (например, gnome-terminal) в этом случае сохраняют TAB.

Обратите внимание, что он ограничен только самым простым сценарием использования, когда символ TAB не продвигается по уже существующему контенту.

Большинство эмуляторов терминала преобразуют его в пробелы, потому что для терминалов TAB - это не печатный символ, а управляющая последовательность, которая перемещает курсор. Например, если вы нажимаете клавишу TAB поверх существующих символов, эти символы остаются там и не стираются (не заменяются пробелами).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .