void
警告:这是alpha版本,由于我在tmux上使用colemak键盘布局,默认的快捷键可能还有些奇怪。你可能想要修改它们,可以通过设置KEYFILE
环境变量指向一个按键重映射文件的路径来实现。将来,我可能会添加可选的模态编辑功能,使其更接近vim。目前我不确定这是否值得增加额外的按键操作。
欢迎反馈!如果你在使用过程中遇到任何困难,请告诉我,我会努力改善使用体验!
问题
这是一个尝试解决以下几个常见情况的方案:
- 经常打断创造性思维流程
- 日常工作缺乏连贯性
- 未能将学到的知识整合成一个连贯的视角
- 任务执行缺乏专注和动力
- 不清楚自己的努力如何影响目标
观点
- 我们衡量的事物往往会得到改善
- 我们应该定期重新评估优先事项
- 我们应该最小化决策以防止疲劳
- 个人理解能力可通过反思、记日记、列大纲、思维导图等方式得到提升
- 不强加特定的工作流程,而是支持多种可能性
实现
- 一切皆为树状结构
- 你可以折叠子树
- 你可以任意深入聚焦屏幕
- 任务树可以用
#task
标记,所有被标记节点的子节点都隐含为子任务 - 任务可以用
#prio=<n>
设置优先级,所有子节点隐含继承最近祖先节点的优先级 - 可以自动选择任务,优先级会影响随机选择的权重。你应该删除它或完成它,不要养成一直重新抽取直到看到喜欢的任务的习惯。你设置了优先级,应该保持它们的更新。
- 你可以使用
#plot=done
或#plot=new
结合#n=10
(设置迷你图大小)、#since=7d
/#until=1d
(指定时间窗口)来创建自己的迷你图。 - 过去一周完成的子任务总数会在屏幕顶部以迷你图的形式显示。
- 你可以在节点之间绘制箭头,实现思维导图功能
- 可以使用C-k执行节点内容的shell命令。如果节点以txt:开头,将在vim或
EDITOR
环境变量指定的编辑器中打开。
我的做法(不要照搬,自己探索适合你的方式)
- 创建一个#task子树
- 为人生目标、项目等创建不同的故事子树,并为它们添加标签,如#climbing #reading #client_143等
- 为不同目标/项目设置图表以获得反馈。
#tagged=climbing #since=30d #plot=done
- 每天开始时调整故事的
#prio=<n>
标签 - 使用自动选择任务快捷键(默认为
C-v
)从故事中选择一个未完成的子任务 - 专注工作25分钟或直到完成,可以选择在最后留出几分钟进行回顾/重新设置优先级
- 尽可能分散注意力,让大脑对刚才思考的内容进行一些垃圾回收
- 如果完成了任务,标记为已完成(默认快捷键
C-a
) - 完成的工作会在为其标签设置的迷你图中显示
- 每周左右调整一下系统
安装
cargo install voidmap
如果你没有cargo,一个简单的获取和管理方法是通过rustup。安装后确保~/.cargo/bin
在你的$PATH
中,这样你就可以使用rustup
和cargo
命令。
如果你遇到类似error: the `?' operator is not stable
的错误,那么
你需要更新你的rust编译器。如果你是通过rustup安装的rust,可以
通过rustup update
完成更新。需要最新的稳定版rust编译器,
推荐1.14.0
或更高版本。可以通过rustc --version
检查版本。
如果你已经通过rustup安装了rust,但版本较旧,系统上可能
存在之前安装的旧版本。验证which cargo
输出的路径属于你的.cargo/bin
目录。
调用
void
这将尝试使用$HOME/.void.db
作为存储文件。
如果你想指定不同的存储文件:
void [/path/to/savefile]
快捷键
功能 | 控制键 | 功能 | 控制键 |
---|---|---|---|
新建节点 | C-n | 新建节点(选中节点的子节点) | Tab |
新建节点(自由位置) | 点击空白处 | 新建节点(选中节点的兄弟节点) | Enter |
删除选中节点及其子节点 | Delete | 移动子树 | 拖动父节点到新位置 |
撤销删除 | C-z | 自动排列视图中的节点 | C-p |
标记选中节点为完成 | C-a | 深入选中节点 | C-w |
向上弹出选择 | C-q | 隐藏选中节点的子节点 | C-t |
为txt:... 节点打开文本编辑器 | C-k | 无选中时前缀跳转 | 输入一个字母 |
其他选中时前缀跳转 | C-f | 隐藏节点的已完成子节点 | C-h |
选择箭头起点/终点 | C-r | 擦除箭头 | 选择起点,C-r,然后选择终点,C-r |
显示调试日志 | C-l | 重新设置节点父级 | 拖动节点到新父级 |
向上滚动 | PgUp | 向下滚动 | PgDn |
向上选择 | Up | 向下选择 | Down |
选择左侧子树 | Left | 选择右侧子树 | Right |
取消选择节点 | Esc | 保存 | C-x |
退出 | 无选中时按Esc | 退出 | C-c |
跳转到加权下一个任务 | C-v | 剪切/粘贴节点 | C-y |
在子节点列表中向上移动选中项 | C-g | 在子节点列表中向下移动选中项 | C-d |
在当前视图或以下搜索节点 | C-u | 选择父节点 | A-S-p (alt shift) |
选择下一个兄弟节点 | A-n | 选择上一个兄弟节点 | A-p |
可以通过设置KEYFILE
环境变量指向一个按键配置文件的路径来自定义
已知问题
无法正确处理非常长的文本。如果你想嵌入一篇文章,请创建一个以"txt:"开头的节点,然后按"C-k"在外部文本编辑器中打开其内容,可通过设置"EDITOR"环境变量来指定编辑器。
可选配置
设置"LOGFILE"环境变量可将调试信息记录到文件中。
设置"EDITOR"环境变量可指定在以"txt:"开头的节点上按"C-k"时打开的文本编辑器。默认为vim。
将"KEYFILE"环境变量设置为keyfile的路径可自定义控制。
将"LOCATION_QUERY"环境变量设置为任何值将启用在启动时发送的HTTP请求,以获取与你的公网IP相关的大致经纬度坐标。这将添加到会话期间创建的任何节点中,最终将允许你追踪随时间推移的大致路径。主要面向经常旅行的用户,未来可能会有更有趣的实现。
注释
这源于在中欧和美国东北部的各个山脉和城市中漫游时,对一系列大致与"效能"相关的主题进行的(持续)痴迷探究。
- 与@matthiasn的对话,并被介绍了解他出色的iWasWhere系统
- 埃利泽·尤德科夫斯基的著作,怎样解题,心灵社会
- 运筹学的各种分支主题
- 神秘假设confrontation:用充满活力的冥想解构自我,普罗米修斯崛起
- 军事指挥控制理论、认知/元认知、OODA等...时间紧迫决策模型和人类认知过程综述
- 个人生产力文献:番茄工作法,GTD,吃掉那只青蛙,心流
当你手持剑时,最重要的是你砍杀敌人的意图,无论采用何种手段。每当你格挡、击打、跃起、攻击或触碰敌人的刀剑时,你都必须在同一动作中砍杀敌人。这是至关重要的。如果你只想着击打、跃起、攻击或触碰敌人,你实际上将无法砍杀他。最重要的是,你必须思考如何将你的动作贯穿到砍杀他为止...当你领悟自然的力量,了解任何情况的节奏时,你就能自然地击中敌人,自然地攻击。这一切都是虚空之道。- 宫本武藏