为什么这个终端日历应用让我告别了谷歌日历

为什么这个终端日历应用让我告别了谷歌日历

最近,我开始尝试使用命令行实用程序,并将注意力从图形用户界面 (GUI) 转移到基于终端的应用程序。这段旅程始于 Yazi 的发现,它是一款终端文件管理器,大大提高了我的工作流程效率。受此启发,我决定用 Calcurse(一款专为终端设计的文本日历应用)替换传统的谷歌日历。虽然我的过渡并非完美无缺,但它在很多方面都超出了我的预期。

理解 Calcurse

Calcurse是一款开源命令行日历和日程安排工具,允许用户直接在终端环境中管理事件、约会和任务。其用户界面采用三窗格布局:左侧显示约会,右上角显示月历,右下角显示待办事项列表。此布局完全通过键盘快捷键操作,从而提高了效率。

Calcurse 将所有数据存储在纯文本文件中,并具备多项实用功能。用户可以管理重复约会、标记全天事件,以及导入或导出标准 iCalendar (ICS) 格式的数据。此外,还可以将笔记附件添加到事件中,并设置自定义提醒,或在保存或加载数据时通过“钩子”执行脚本,从而实现日历的版本控制。

如何设置和使用 Calcurse

Calcurse 的入门非常简单。大多数 Linux 发行版的包管理器中都包含它。例如,在 Debian 或 Ubuntu 上,你可以通过运行以下命令来安装它:

sudo apt install calcurse

如果您使用的是 Mac,则安装也很简单,可以通过 Homebrew 使用以下命令:

brew install calcurse

Calcurse 在终端中安装命令

calcurse安装完成后,你可以在终端中输入以下命令来启动 Calcurse 。第一次执行会自动创建一个名为 “~/.calcurse/” 的目录,所有数据文件都存储在该目录中。

启动后,您将看到三窗格用户界面。使用Tab键在三个部分之间导航,并使用箭头键或h/ j/ k/l键进行窗格内导航,类似于 Vim 命令。屏幕帮助菜单显示所有可用的命令以供参考。

Calcurse主页

要在 Calcurse 中添加事件,只需将光标放在“预约”窗格中,然后按下a。系统将提示您输入开始和结束时间;如果两者都留空,则该事件将创建为全天预约。接下来,您可以添加描述,例如“团队会议”或“牙科预约”。如果事件重复发生,您可以将重复频率设置为每日、每周或每月。您可以配置自定义提醒,以在 Calcurse 中触发通知或发出外部命令,例如发送电子邮件或桌面警报。

Calcurse 使用密钥新建条目

删除事件同样直观。导航到所需的条目并按下d。Calcurse 会在删除前请求确认。如果您要处理重复发生的事件,您可以决定是仅删除该事件还是删除整个系列。

删除条目 Calcurse

编辑条目遵循类似的流程:选择要更改的项目并按下e。对于约会,您可以修改时间、描述、重复周期或提醒。对于任务,您可以更新文本或优先级。将字段留空将保留其当前值,以便进行简单的调整,从而快速高效地完成操作。确认更新后,更改将立即生效,无需删除并重新创建条目。

Calcurse 待办事项编辑选项

由于 Calcurse 将所有事件和任务都存储在纯文本文件中,因此备份或将这些文件置于版本控制之下非常简单。用户还可以通过“设置”菜单或直接编辑配置文件来个性化设置配色方案、按键绑定和通知设置等方面。

此外,Calcurse 通过calcurse-caldav脚本引入了实验性的 CalDAV 同步模式。该功能允许使用 OAuth2 凭据与 Google 日历等在线服务集成,但设置该功能需要创建 Google API 项目并安装补充的 Python 库。

Calcurse 与 Google 日历的比较

从 Google 日历过渡到 Calcurse 需要权衡一些因素,但它也带来了意想不到的好处。Google 日历拥有丰富的功能,包括颜色编码事件、拖放功能、地图集成以及多种查看选项,例如日程、周和月布局。

Google 日历主页

相比之下,Calcurse 是基于文本的,非常轻量。它几乎可以立即在终端中启动,占用极少的系统资源,并且完全通过键盘命令进行操作。虽然它的视觉布局仅限于三个窗格和一个状态栏,但 Calcurse 专注于速度和简洁性,为日常日程安排提供了一种高效的方法。

Google 日历在协作功能方面胜过 Calcurse,包括实时协作、访客邀请、文件附件、Gmail 集成和公共假日日历。然而,Calcurse 巧妙地涵盖了有效安排所需的基本功能——允许简单的文本约会、重复事件和可激活命令或电子邮件的可自定义提醒,以及 iCalendar 导入和导出选项。

Calcurse 待办事项列表

Calcurse 的优势之一在于其自定义功能;几乎所有方面都可以编写脚本或自动化,从按键绑定到用于在保存或加载时执行 Shell 命令的钩子。这有利于与其他工具轻松集成,并允许用户使用外部脚本控制日历的版本或将其与 CalDAV 服务器同步。

Calcurse 预约选项卡

虽然 Calcurse 默认将日历信息存储在本地,但可以通过 CalDAV 脚本实现同步,该脚本在“~/.calcurse/caldav/sync.db”维护一个数据库。该机制会跟踪事件状态,将本地条目与在线条目进行比较,从 Google 日历下载新项目,上传本地更改,并删除已删除的事件。

我怀念的 Google 日历功能

任何改变都有其弊端,放弃谷歌日历也凸显了我真正怀念的一些功能。最大的缺点是移动通知和同步;使用谷歌日历,我可以在手机上及时收到提醒,并且可以在任何地方访问我的日历。而 Calcurse 缺乏这项功能,除非我设置了同步选项,否则需要在笔记本电脑上手动检查。

另一个显著的不足是发送邀请和共享日历的功能。谷歌日历可以轻松邀请同事或家人参加活动并共享整个日历。而 Calcurse 目前没有内置的共享功能;为了通知某人某个活动,我必须手动复制信息。我还很欣赏谷歌与 Gmail 和地图的无缝集成,这提升了可用性。

虽然 Calcurse 有其优点,但谷歌日历与许多工作流程的深度融合使其很难完全放弃。对于那些仍希望保留部分谷歌日历功能的用户,可以考虑使用高效的 Chrome 扩展程序来增强其功能。此外,探索优化谷歌日历以适应商业用途的功能也可以带来额外的价值。

来源和图片

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注