Командная строка дружественные таблицы

21

Существует ли такая вещь? Текстовые таблицы, которые хорошо отображаются в среде CLI. Я знаю, что могу cat foobar.csvи делаю, как хочу, но это не особенно практично и не привлекательно. Я не могу себе представить, что будет трудно отформатировать таблицу, и, возможно, следовать определенным правилам (математике?).

В Emacs org-modeдостаточно хорошо обрабатывается текстовая таблица, и она позволяет экспортировать в несколько форматов. Тем не менее, нужно использовать Emacs! Которого как пользователя Vim я бы предпочел избежать.

Сергей
источник
Что не практично или привлекательно? Вам нужно использовать формуляры, вам нравится делать интерактивные вставки? Что вам нужно?
пользователь неизвестен
@userunknown Читаемость значений, разделенных запятыми или табуляцией, явно страдает, если только каждое значение не имеет такую ​​же ширину, как все остальные.
Сергей
1
Вы ищете доступ для чтения и записи к электронным таблицам или доступ только для чтения?
Тим Кеннеди
@TimKennedy В идеале то, что может заменить Excel для основных задач, но то, что может выводить электронную таблицу с достойным форматированием, было бы здорово.
Сергей
@ Сергей: Ну, читаемость хорошая, если вы используете вкладки, и все значения попадают в один и тот же диапазон длин, кратный 8, чтобы быть более точным. Вкладки, где изобретены для этой цели.
пользователь неизвестен

Ответы:

15

Есть scи oleo(ни один из которых у меня нет никакого опыта). Однако, будучи проектом GNU, обработка oleo, скорее всего, будет неэффективной, а не vimmy.

Ульрих Шварц
источник
6
В соответствии со статьей, на которую я scссылаюсь , выглядит гораздо более энергично, чем когда-либо oleo.
CJM
Я только scчто попробовал. Кажется, это не очень хорошо screen, по крайней мере, для меня. Я дам ему еще немного времени и посмотрю, смогу ли я справиться с этим. viнавигация пока что является благословением.
Сергей
2

Там также slscна основе, scно с более дружественным пользовательским интерфейсом.

Однако у него есть зависимость, libslang1которая активно не разрабатывается ( libslang2является текущей разработанной версией), поэтому сама программа больше не разрабатывается.

Я и мой учитель игры на фортепиано планируем перенести его libslang2в хранилище. :)

Маттео Чеккарелло
источник
2
Ты и твой преподаватель фортепиано, а? Как дела?
Казарк,
1

Существует порт Org-Mode для Vim .

Майк Фишер
источник
Можете ли вы добавить больше деталей?
Казарк,
@Kazark: Спасибо за очистку моей ссылки! Первоначальный вопрос указывал на то, что вы знакомы с Org Mode , в частности с таблицей Org Mode , но не был в восторге от Emacs. Я хотел поделиться альтернативой Vim.
Майк Фишер
0

Если вы можете найти старую таблицу с досами (например, 1-2-3), вы сможете запустить ее с помощью Dosemu.

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

Тот, который вы могли бы попробовать, это VisiCalc.

HandyGandy
источник
0

Существует скрипт Vim, который называется Spreadsheet.vim (и на github ). Из раздела описания связанной страницы:

Этот скрипт позволяет использовать vim в качестве электронной таблицы, добавляя арифметические вычисления в ваши текстовые файлы.

Полезно для счетов, расходов, рейтингов и других числовых текстовых шаблонов.

Он обеспечивает три основные функции:

Get("cell")
Set("cell", "value")
Calculate("operation")

Подробные инструкции и примеры включены в файл сценария.

Я еще не сравнивал это с решениями, упомянутыми другими. Я подозреваю, что у него есть недостаток, заключающийся в том, что он не такой мощный, как определенная программа для работы с электронными таблицами; но поскольку он позволяет вам использовать сам Vim, вы получаете другой вид силы, пропорциональный величию вашего Vimfoo.

Одно предостережение в том, что он не выглядит очень портативным:

Он использует команду 'bc' ОС Linux для функции Calculate.

Однако, поскольку вы спрашивали об этом в U & L.SE, возможно, это не проблема для вас.

Kazark
источник
Я попробовал это на Windows, и да, я столкнулся с проблемой 'bc'. Даже если это сработало, насколько я могу судить, это чрезвычайно многословно и ограничено с точки зрения возможностей. Это больше похоже на сложную математику в Vim, чем на создание электронных таблиц.
Орта
0

Я использую и рекомендую visidata .

Он хорошо сочетается с оболочкой - например, вы можете прикрепить его к концу своей трубы. Если

bzcat foo.bz2|sort|uniq -c|sort -nr | awk -f munge.awk |blah

выдает тсв, то

bzcat foo.bz2|sort|uniq -c|sort -nr | awk -f munge.awk |blah|vd

превращает этот tsv в интерактивную (если вы думаете, ncurses интерактивную) электронную таблицу с графиками и сводными таблицами и поддержкой мыши :)

гистограмма visidata, нажмите shift-F

Вы можете добавить столбцы с выражениями Python, ссылающимися на другие столбцы, или расширить их с помощью плагинов. Вы можете различать два CSV .

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

Документы и учебные пособия с домашней страницы довольно хороши, но если вы научитесь лучше, наблюдая, чем читая, есть серия учебных пособий и демонстраций по visdata youtube от автора.

unhammer
источник