使用 Ulysses 的时候,我发现从 iOS 设备同步到 Mac 上很快,但是反过来却常常无法成功。我注意到 Finder 的 iCloud Drive 总是显示在上传文件,却没有进度。在试过一些显而易见的办法以后,我猜测可能是我的 iCloud 同步出现了一些问题,造成了阻塞。
我打开了 Desktop 和 Documents 的自动同步,按理说这不应该有什么问题。但是那个没有进度的 iCloud Drive 上传任务却告诉我这里面在发生一些意料之外的事情。我想了想,之前在 Documents 文件夹里放了一个 Hexo 的项目,每次使用 Hexo 在本地编译的时候,都会产生一堆文件修改,而这些零碎的修改都会自动同步到 iCloud。我猜就是因为这些隐藏很深的路径里,非常细微、零碎的文件造成了 iCloud 同步的阻塞。
我决定把云端的文件都下载回来,关闭 Desktop 和 Documents 文件夹的自动同步。经过两个小时的尝试,我终于成功地拿回了所有云端的文件,而 Ulysses 的 iCloud 同步也恢复了正常。看来问题的确出在那些项目文件里。
这件事触发了我对文件管理的思考。
看着从云端下载回来的文件们,我意识到它们并没有被有效地归档。如果不采取措施,今后面对文件备份、整理、检索的时候,依然会有一堆问题。那么这些文件究竟应该如何管理呢。
给我灵感的是那些可以明显归类到某一个时期的文件们。比如上学的时候,每个学期的不同课程。这些文件我认为是「归档」文件,大体上就按学校名字归类了,分别对应到不同的时期。这样在寻找文件的时候,搜寻思路和回忆的思路就可以保持一致。比如,在我上大学的时候,做过一个项目,那个项目好像用到了那个方法。那么我就可以去对应学校的目录里,去找那个项目,或者去找某个学期的课程。被归档的还有收集来的其它不属于我的课件,可能在某一个时期有用,但现在看来只剩下了收藏和参考价值。
除了这些被归档到某一人生阶段的文件之外,还有些是生活中的,而不能轻易放入上述目录中。比如自己的简历、各种证件、出行计划等等。这些我放入了「个人材料」里,可以找到一些通用的、不属于某特定时期的文件。
还有一些文件,既不属于某一个时期,也不是特别个人,比如在网上收集来的文章、学习资料等等。我想这些文件可以视作个人知识库的一部分。学习资料就按门类放进这个目录。零散的文章要放到一起,比起用文件夹来区分,我选择添加「comments」字段,里面填写这个文章的关键字。这样的话,无论是网上收集来的键政文,还是某个软件、某个产品的说明书,都可以有序在这个单独文件夹里收藏了。
不得不提的还有我的个人电子书库。比起零散的文章,我电子书的收藏更为庞大。我使用 Calibre 管理这些电子书,书库自然也是个人知识库的一部分。
那些经常需要修改的项目,比如 Python、Hexo 或者 LaTex,都可以按照软件工程的思路来进行管理。最合适的就是使用 Git 来进行版本管理和备份。它们不适合作为归档文件或者个人知识库来进行管理。我接下来会在自己的服务器上搭建 Gitlab,来管理本地的这些项目。
除了文件夹外,Mac 上的 tag 也很好用。比如我把本地的活跃项目目录打上了 「workspace」的标签,那么不管它们被放在哪个文件夹里,都可以在这个标签下迅速被找到。经常查询的个人资料和零散文章文件夹,也都可以打上「reference」的标签来快速访问。
摆脱了大量深层目录和零碎文件以后,iCloud Drive 的同步变得迅速了许多。还没有完成的工作恰好也处在这一范畴。Apple 生态下的许多软件都有自己的目录,比如 Keynote。我使用 Keynote 创建了不少文件,它们都平摊在 iCloud 上 Keynote 目录下。同理,其它的软件也有这个问题。这些文件的定位介于个人文件和项目文件之间,由于总量还不很大,目前还没有给我带来太多麻烦。但今后还是要对这些文件进行归档。
经过这次文件整理,我总结了一个思路:项目文件管理有成熟的方案,应该单列;普通的文件整理,应该遵循从「工作区」到「归档」的路线。工作区可以是「Downloads」也可以是「Desktop」,当然也可以是某一个软件的工作区,比如 iCloud 上的 Keynote 文件夹。当工作区的文件失去时效性的时候,就应该归档。归档应当对其属性作出区分,分门别类地归入某一时期或个人知识库。
在整理文件的时候,最好搭配使用文件夹、标签和元数据。文件夹用来归类不重叠的类型,标签用来整理跨文件夹的档案,元数据可以提供更多的可能性。当然,成熟的备份和管理工具(比如 Git)也是能用则用。