#命令行 #用户界面 #CLI #文本编辑器

bin+lib voidmap

终端思维导图 + 任务跟踪器 + 时序数据库

45 个版本 (4 个稳定版本)

使用旧的 Rust 2015

1.1.5 2019年1月7日
1.1.3 2018年9月10日
1.1.2 2017年7月28日
0.4.8 2017年6月5日
0.2.21 2016年11月29日

#87 in 可视化

Download history 47/week @ 2024-03-28 23/week @ 2024-04-04

每月71次 下载

GPL-3.0 许可证

1MB
6K SLoC

Rust 5K SLoC // 0.1% comments Perl 1K SLoC // 0.2% comments Shell 8 SLoC

void 构建状态 状态

教程

示例工作流程

警告:这是测试版,默认快捷键仍然很奇怪,因为我使用的是基于 tmux 的 colemak。你可能需要更改它们,通过将 KEYFILE 环境变量设置为 快捷键重映射文件 的路径。将来,我可能添加可选的模式编辑,使其更符合 vim。现在我不确定额外的按键是否值得。

鼓励反馈!如果你在使用中遇到困难,请告诉我,我会努力改善体验!

问题

这是尝试解决几个认知缺陷。

  1. 经常脱离创意流动
  2. 日常工作缺乏连贯性
  3. 未能将所学知识整合为一个统一的角度
  4. 执行任务缺乏焦点和动力
  5. 不清楚我的努力如何影响目标

视角

  • 我们衡量的东西往往会改善
  • 我们应该定期重新评估优先级
  • 我们应该最小化决策以防止疲劳
  • 个人意义建构通过反思、日记、大纲、思维导图等得到很好的服务
  • 不强制特定的工作流程,但支持多种可能性

实现

  • 一切都是树
  • 你可以折叠子树
  • 你可以任意地深入屏幕焦点
  • 可以使用 #task 标记任务树,所有标记节点的子节点都是隐式子任务
  • 可以使用 #prio=<n> 对任务进行优先级排序,所有子节点隐式继承最低祖先的优先级
  • 任务可以自动选择,优先级将随机选择进行加权。你应该删除它或完成它,不要养成反复画图直到看到你喜欢的习惯。你选择了优先级,你应该保持它们是最新的。
  • 你可以使用 #plot=done#plot=new 来创建自己的 sparklines,结合 #n=10 用于 sparkline 的大小,#since=7d / #until=1d 用于指定时间窗口。
  • 过去一周完成的子任务将在屏幕顶部的 sparkline 上绘制。
  • 你可以使用箭头来绘制节点之间的思维导图功能。
  • 使用 C-k 来执行节点的内联内容。如果节点以 txt 开头:这将使用 vim 或在 EDITOR 环境变量中指定的编辑器打开。

我做什么(不要模仿我,发现对你有效的方法)

  • 创建一个 #task 子树
  • 为生活目标、项目等创建不同的故事子树,并为其添加标签,如 #climbing #reading #client_143 等...
  • 设置不同目标/项目的反馈图表。 #tagged=climbing #since=30d #plot=done
  • 通过调整故事上的 #prio=<n> 标签来开始新的一天
  • 按下自动任务快捷键(默认为 C-v)从故事中选择一个不完整的子任务
  • 专注于它 25 分钟或直到完成,最后可选地留出几分钟进行反思/重新排序
  • 尽可能多地分散注意力,让大脑对思考的事物进行垃圾回收
  • 如果我完成了任务,将其标记为完成(默认为 C-a
  • 完成的工作将出现在为标签设置的 sparkline 图表中
  • 大约每周一次,调整系统

安装

cargo安装 voidmap

如果你没有 cargo,一个简单的方法是 通过 rustup 来获取和管理它。确保在之后将 ~/.cargo/bin 添加到你的 $PATH 中,这样你就可以使用 rustupcargo 命令。

如果您遇到类似 error: the `?' operator is not stable 的错误,则需要更新您的Rust编译器。如果您使用rustup安装了Rust,可以使用以下命令进行更新:rustup update。需要最新的稳定版Rust编译器,建议使用1.14.0或更高版本。可以使用以下命令检查:rustc --version。如果您使用rustup安装了Rust,但版本较旧,系统上可能已安装了较旧的版本。请验证 which cargo 输出的路径是否属于您的 .cargo/bin 目录。

调用

此操作尝试将 $HOME/.void.db 作为存储文件。如果您想指定不同的存储文件路径

[/保存//保存文件]

密钥

特性 控制 特性 控制
新节点 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

可以通过设置 KEYFILE 环境变量到配置文件的路径来自定义,配置文件可从 这里 获取

已知问题

无法正确处理非常长的文本。如果您想嵌入文章,请创建以 txt: 开头的节点,然后按 C-k 打开其内容,外部文本编辑器可以通过设置 EDITOR 环境变量来指定。

可选配置

设置LOGFILE环境变量可以使您将调试信息记录到文件中。

设置EDITOR环境变量可以使您指定在节点名称以txt: 开头时,按下C-k时打开哪个文本编辑器。默认为vim。

KEYFILE环境变量设置为密钥文件的路径允许您自定义控件。

LOCATION_QUERY环境变量设置为任何内容将启用在启动时发送的http请求,以获取与您的互联网IP地址相关的大致经纬度坐标。这将添加到会话期间创建的任何节点中,并最终允许您追踪您随时间走过的大致路径。主要面向经常旅行的用户,最终可能会有更有趣的实现。

注意事项

这发生在对与“有效性”大致相关的主题群进行的(持续进行中)痴迷调查过程中,同时在中欧和北美东北部各个山脉和城市中跌跌撞撞。

当你手中拿起剑的时候,最重要的是你的砍敌意图,无论手段如何。无论何时挡,打,跳,击或触敌的砍剑,你都必须在同一个动作中砍敌。这是至关重要的。如果你只是想打,跳,击或触敌,你就无法真正地砍倒他。更重要的是,你必须想着将你的动作贯彻到底,砍倒他... 当你欣赏自然的威力,了解任何情况的节奏时,你将能够自然地击敌,自然地打击。所有这些都是空虚之道。- 宫本武藏

依赖项

~11MB
~229K SLoC