黄石的时空回环

黄石的时空回环

Let me fly to the 🌕️

发现、解决、习惯,思维方式改造生活

2021-02-26

信息

本文参加少数派年度征文。

Bram 和 「Vim 哲学」

这一年我最大的从效率工具上的改变,就是开始大面积使用 Vim。说实话,学习和使用 Vim 的确不容易,而且会越用越觉得自己并不了解 Vim。毕竟这是一个作者 Bram Moolenaar 从 1991 第一个正式版开始,维护了整整 30 年的项目。而只有在不断的摸索过程中,才会逐渐体会到作者所宣贯的「Vim 哲学」,并逐渐改变自己固有的低效编辑方式、思维方式。

这里可以通过 2007 年 Bram 在谷歌的演讲来阐述为什么选择 Vim 作为文本编辑器和怎么用 Vim 来解决问题。Bram 在其中提到了解决问题的三个基本步骤:

  • 意识到低效
  • 找到更快的方法
  • 形成习惯

听上去和「如何把大象放进冰箱」一样容易。但是其中一个很重要的前提是,我们所使用的工具能够提供方法帮助我们一次又一次的完成这三个步骤。而 Vim 就是通过模式、快捷键、Vimscript 等等来支撑用户对于高效文本编辑的需求。

举个例子来说,其实我们常见的文本编辑任务中,「修改」的操作效率其实是最低的,要涉及到很多的鼠标操作、搜索、重复。而 Vim 的模式就是为此而设计的,在 Normal 模式下无论跳转还是文本替换,都是轻而易举而不需要双手离开键盘的。

我的理解

当然,如果本文继续要讲 Vim,个人能力和认知有限、也根本写不完,但是上面提到的三步走的思维方式其实非常有指导意义。我也常常反思,是否真正能践行这样的理念来提高工作学习效率。下面简单谈谈一些粗浅的思考。

如何意识到自己是低效的

这开始的第一步其实是比较容易被忽视的。

一方面,我们并不能立刻意识到自己正在浪费时间。就比如在排版文字的时候,需要确保中英文之间有空格,抑或需要把同一个名词都替换为另一种说法,如果这种情形只出现一两次,大多数人就手动更改即可,这样的方式简单、直接。但是如果每天都需要处理同样的文字,我们就会可能会意识到需要某个工具来处理这样的任务。再往上,才可能会思考有没有这样一种工具可以统一的处理源源不断产生的同类需求。

另一方面,我们常常会陷入某个「舒适区」,也可以说是解决问题的局部最优解

可能是对工具的认知和了解不够深入,更可能是因为手头的工作比停下工作去寻找一些效率的提升更加关键。比如,很多人每天用手机的时候会被大量的无用的 App 通知淹没,但是还是有相当一部分用户选择定时手动清理掉所有通知,尽管知道系统设置能够阻止部分通知、有些应用(比如通知滤盒、BuzzKill)能够针对通知进行过滤。

因此意识到存在的问题,记为待办,并给自己充分的动机去解决很重要。

如何找到解决办法

这里为什么会说「找到」而不是直接自己解决呢?因为互联网上基本能够覆盖我们生活中遇到的大多数问题了,剩下的问题则需要自己灵活变通。很多人包括我面对问题会有一种无助感,想要找一个大佬来指点迷津。一方面是信息检索,尤其是提取问题关键点的能力不够;另一方面,不知道如何从零去建立未知领域知识体系。

对我来说,或者我涉及的领域比较有效的就是去对应的社区、论坛、网站、群,不是上来就问,而是先把别人总结的「新手指南」都大致浏览一遍,有了基本认知之后看别人的交流和讨论不会显得陌生,提问题也比较有针对性。具体到 Vim 的话,Github 上就有相当多的中文资源,也有相应的讨论群等等。

当网上的资源都已经满足不了你,已经需要处理相当定制化的需求的时候,你就会开始学习这个工具更加底层的概念和接口,那么恭喜你,已经算是一个「高效行动派」了!

如何形成习惯

这个问题有些多余,其实就是不停地使用——「用它,用它,用它」!形成肌肉记忆,「惯性思维」(不是什么好词)。大部分提升过的工作流会让人心情愉悦,每次使用还要感谢一下之前自己的努力。有些工具则会让人「痛并成长着」,虽然很难完全掌握,但是每次都会有新的认知而离不开它。比如如果习惯了 Vim 的快捷键绑定,你会在任何一个文本框里面都有想要按 esc 来进行编辑的冲动。

一些例子

下面是我这一年提升一点点幸福感的小操作,算作总结,也方便后续回顾和提升。

提升通知操作的效率

问题

手机上的通知很多很烦人,很难在繁杂的通知中获得有用的信息。

方案和效果

我主要用 Tasker + BuzzKill 来解决以下问题:

  • 复制验证码:两个工具都能实现,后者比较简单点。
  • 延迟快递消息:微信(主要是丰巢)、淘宝、拼多多等等都会给我发快递提醒,有些是重复的,而且不想工作时间收到,用 BuzzKill 配合过滤条件 +「打盹」功能很容易实现下班之后才给我推送快递提醒。
  • 滤垃圾消息:关键词过滤短信、应用推送的垃圾消息,这个也是用 BuzzKill 即可。
  • 通知触发任务:这个我主要用 Tasker 实现,可以参考 从通知实现钱迹 Tasker 自动化记账 。可以用 Tasker 自带的通知事件获取,或者用 BuzzKill 的插件来获取通知内容(甚至触发 Tasker 动作)。

这里其实可以看到各个工具的不同取向和使用场景。BuzzKill 更像是一个被开发者精心包装的只面向通知管理的自动化应用,简单、好用,但是用户无法轻易扩展所设定的功能边界;Tasker 则是一个更加底层和通用的程序,有一定的上手门槛,会依据用户的需求和想象力创造不同侧面、不同层次的价值。从这个角度其实并没有哪个工具更好的说法,只有哪个工具更适合自己的应用场景。但是就像 Bram 所说的一样,学习使用 Vim 这样定制性和扩展性很强的文本编辑器,会让用户思考,什么才是好的文本编辑器。 我的通知栏变得清净无比,并且在这一年养成了记账的好习惯。我没有主动设置每月的预算,只看桌面的小挂件来提醒自己每月花了多少,然后控制自己的支出,这里还有改进的地方。

高效整理想法和知识

问题

能够随时记录想法,并形成的不断上升和扩展的知识体系。

方案和效果

我尝试过很多的笔记或知识管理工具。之前一直在使用的是 Notion。不过它们或多或少有这样的问题:

  • 启动不够快:是的,不仅是软件启动的时间,还有新建一篇日志的时间。我希望能够触手可达、并且和自己的工作流相结合。
  • 非离线:云同步虽然带给用户很多便利,同样也带来相当多的烦恼。比如同步出错、编辑文档丢失,仿佛在时时刻刻提醒着我,数据并不是属于我自己。 另外,我对以 Roam Research 为首的一类新兴的网状笔记软件并不太感兴趣。可能对于我来说,把文档都整理在各个有序的文件夹下,已经算是一大进步了。而且完全可以用文件夹、标签等替代实现类似的效果,只要有快捷的办法检索即可。 这一年我在工作上最常使用的就是 VimWiki。它主要的优点有
  • 与我的工作流耦合:几乎每时每刻都在使用或者开着 Vim,没有道理不去使用它。
  • 快捷键启动:默认 ww 就可以打开索引页, <leader>w<leader>w 就可以打开当天的日记页面。
  • 扩展性极强:既然是本地文本文件,向各个下游导数据其实相当简单。如果选择默认的 vimwiki 语法,还可以直接生成 HTML 文件。我是选择 Markdown 语法,之后无论是渲染还是发表,也都比较容易。并且在 Vim 里面,还可以用脚本实现类似 flomo 的随机漫步等功能。

另外为了方便检索,依然可以使用类似 Roam Reasearch 的 [[]] 标记(或者用 #tag),配合 Leaderf rg 等工具可以非常方便的做文档内的主题检索。

家居自动化初试

问题

在同一处访问智能家居产品,并且实现自动化。

方案和效果

这算是一个非常常见的需求了。对于大多数人,现在一般来说是选择 HomeKit 或者米家的平台。但是我总觉得有点不得劲,虽然它们封装得很好,相对应的可折腾的空间很小,而且有些产品只支持某一个平台。在我的理解中,物联网的世界应该有统一的平台、用户可以访问更底层的接口、本地化等等特质才对。

因此我找到并选择了 Home Assistant,搭建在我的 NAS 上。由于是租房住,基本就是控制我那几盏灯,目前最常用的就两个自动化指令:

  • 早上出门前自动关掉所有灯
  • 晚上回家自动开启屏幕挂灯和台灯

而且不是用地理围栏做的,用了一个米家门窗传感器来触发,比较准确、也不会增加手机的耗电。Home Assistant 的扩展性也是相当强大,如若感兴趣,可以上各个中文论坛参考学习。

写在后面

其实回头来看,这一年主要折腾的几样工具其实也没有完全深入研究下去。它们都有一个特点,那就是「足够好用,也挺难用」。不过我很感激的是,它们让我探查到解决问题的新的可能性和另外的视角。不过话说回来,以上的选择仅代表我自己工具选择的倾向,希望新的一年大家都能遇上得心应手的效率「兵器」。

# 本文一共被访问了  次。