如何在 Linux 终端中制作电子表格
如果您正在寻求摆脱桌面环境并从控制台执行所有操作,那么祝您好运。但是,如果您更认真一点,并且想学习从终端做新事情,那么掌握电子表格怎么样?
当然,LibreOffice 或您选择的任何办公套件可能一开始就做得很好,但有时使用皮卡车去厨房并不是最合适的路径。我的意思是,您可能需要仅使用几个简单的公式创建一个快速电子表格,但没有什么复杂到需要传统办公套件的所有功能。另外,如果您的系统有点旧,或者您在后台运行大量应用程序,则可能需要等待几十秒才能看到启动屏幕加载。另一方面,控制台中的电子表格应用程序快速、简单且高效。在可以让您做到这一点的神奇软件中,我建议您使用sc
,电子表格计算器的字谜。
在 Linux 上安装 sc
sc
软件包可在基于 Debian 的发行版(例如 Debian、Ubuntu 或 Linux Mint)的 Universe 存储库中找到,因此在此类系统上安装非常简单:
$ sudo apt-get install sc
在 Arch Linux 上,查看 AUR。
对于其他发行版,您可以下载其源代码并构建它。
sc
的基本用法

像往常一样,第一个屏幕总是最可怕的。但好消息是:sc
的许多快捷方式都受到 vim
的启发(或者我想如果您只了解 Emacs,这就是坏消息)。因此,您可以使用传统的 hjkl
键四处移动:
h
代表左侧j
表示向下k
代表向上l
代表左侧
或者,如果您不怕因异端邪说而被烧死,则只需使用箭头键即可。
您可能想要在电子表格中做的第二件事是输入一些数值。一开始我有点困惑,因为这里的插入模式有点不同。
要在所选单元格中输入数值,请按 =
,然后输入您的值。
要输入一些文本,请输入 <
,然后输入您的文本。
如果您需要随时保存您的工作,请使用:
P[name].sc
将您的工作转储到 .sc
文件中。
反过来,
G[name]
将检索您的工作。
如果您自己没有猜到,命令 q
用于退出程序。
但我们都想要创建一些公式。就像在任何传统电子表格中一样,以 =
符号开头,并通过坐标引用其他单元格。
例如,要对第一行的前两个单元格求和,请执行以下操作:
=A0+B0

要复制单元格的内容,请将光标置于该单元格上并按 ma
。然后转到一个空单元格并执行ca
。
最后,使用最后一种技术和我们之前的示例,我们可以扩展公式以将两个相邻单元格的值相加:
[#]ca
其中 [#]
只是我们要将公式扩展到的单元格数量。您可能已经注意到,这就像在 vim
中一样,您可以在其中执行 [#][command]
来重复命令一定次数。在我们之前的例子中:
3ca
会将加法公式扩展到该行中接下来的 3 个单元格,分别为它们提供 B0+C0
、C0+D0
和 D0+E0
的值。

sc
的高级用法
如果您知道 vim
快捷键,经过几次实验后您将能够充分利用 sc
:
使用c
引用列。所以dc
和yc
分别删除和拉动当前列。
使用r
引用一行。同样的想法,dr
和 yr
删除并拉出当前行。
在 vim
中移动到特定行的命令 g
也可以在 sc
中使用,语法如下:
g[coordinate of a cell]
例如,gC22
可直接转到单元格 C22
。
我之前说过ma
是标记一个单元格。确切地说,它将单元格的内容存储到变量 a
中,然后您可以使用 ca
复制该变量。或者,您可以使用任何其他字母来引用不同的变量:mb
、mc
、md
等。
随时在界面中输入 ?
即可查看更多信息。

总而言之,sc
是另一个让人们对其实用性产生争议的程序。既然我们的计算机功能强大到足以运行 LibreOffice 或其他什么,控制台电子表格计算器是否已经过时了?或者相反,我们应该坚持简单任务的基础知识,而不是浪费资源?
我还听说过关于 oleo 的好消息,它的作用明显相同,但我自己从未尝试过。它是 sc
的可行替代品吗?
无论如何,请在评论中告诉我们您的想法。