命令行友好的电子表格


21

这样的事情存在吗?基于文本的电子表格可以在CLI环境中很好地显示。我知道我可以cat foobar.csv并且愿意做,但这并不是特别实用或有吸引力。我无法想象设置表格的格式会很困难,也许还要遵循某些规则(算术?)。

Emacs具有org-mode可以很好地处理基于文本的表的功能,并允许导出为多种格式。但是,必须使用Emacs!作为Vim用户,我宁愿避免使用。


什么是不实际或有吸引力的?您是否需要使用公式编制器,是否喜欢进行交互式插入?你需要什么?
未知的用户

@userunknown除非每个值的宽度与其他所有宽度相同,否则逗号或制表符分隔的值的可读性显然会受到影响。
谢尔盖

1
您在寻找对电子表格的读写访问权还是只读访问权?
蒂姆·肯尼迪

@TimKennedy理想情况下,可以代替Excel来完成基本任务的东西,但是可以输出具有良好格式的电子表格的东西会很棒。
谢尔盖

@Sergey:好吧-如果使用制表符,则可读性很好,并且所有值都落入8的倍数的相同长度范围内,以便更加精确。为此目的而发明的标签。
用户未知

Answers:


15

scoleo(我都没有任何经验)。但是,作为一个GNU项目,oleo的处理更可能是emacsesque而不是vimmy。


6
根据我所链接的文章,sc看起来比以前更具活力oleo
2011年

我只是sc试一试。screen至少对于我来说,它似乎不太适合使用。我会给它更多的时间,看看是否可以处理。vi到目前为止,导航是一种幸福。
谢尔盖(Sergey)

2

slsc有基于,sc但具有更友好的用户界面。

但是,由于它的依赖项libslang1尚未得到积极开发(libslang2是当前开发的版本),因此程序本身不再开发。

我和我的钢琴老师正计划将其移植到libslang2存储库中。:)


2
您和您的钢琴老师,对吧?怎么样了
卡扎尔克


0

如果您可以找到旧的dos电子表格(例如1-2-3),则应该可以通过dosemu运行它。

直言不讳,如果您在网上搜索可下载的dos电子表格,就会发现我所谓的“我不在乎软件”。表示下载在技术上是非法的,但通常版权所有者并不在意。

您可以放心尝试的一种是VisiCalc。


0

有一个名为Spreadsheet.vim的Vim脚本(在github上)。在链接页面的描述部分中:

该脚本使您可以将vim用作电子表格,从而将算术计算添加到文本文件中。

对于账单,费用,等级和其他数字文本模板很有用。

它提供了三个主要功能:

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

脚本文件中包含详细的说明和示例。

我尚未将此与其他人提到的解决方案进行比较。我怀疑它的缺点是在某些方面不如特定的电子表格程序那么强大。但是由于它可以让您使用Vim本身,因此您会收到与Vimfoo的出色程度成正比的另一种功能。

一个警告是,它似乎不是很容易移植:

它对计算功能使用“ bc” Linux OS命令。

但是,由于您是在U&L.SE上询问的,所以这对您来说不是问题。


我在Windows上尝试过,是的,我遇到了“ bc”问题。即使这样做确实可行,据我所知,这是非常冗长且有限的。这更像是在Vim中以极其冗长的方式添加数学,而不是像电子表格那样进行任何操作。
奥尔塔

0

我使用并推荐visidata

它与外壳配合良好–例如,您可以将其粘贴在管道的末端。如果

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

产生一个tsv,然后

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

通过绘图和数据透视表以及鼠标支持,使tsv成为交互式(如果您认为ncurses是交互式的)电子表格:)

可视数据直方图,按shift-F

您可以添加带有引用其他列的Python表达式的列,也可以使用插件对其进行扩展。您可以区分两个csv

您也可以将您的按键保存在vd中到一个文件中,然后在以后重新运行它们–我有一些脚本可以重新运行分析,然后在其上运行vd,然后立即将所有列设置为float并打开频率表,这样我就可以查看这次是否降低了中位数。

主页上的文档和教程相当不错,但是如果您通过观看而不是阅读来学习,则会发现一系列visdata youtube教程和作者展示。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.