Full introduction to Gkroam, Up to version 2.3.7

录了一个比较完整的 Gkroam 演示视频, 截止到 v2.3.7。视频时长 7分32秒,没有声音。

根据主要功能,视频分为六个部分。每个部分都有相应的文字介绍(英文表达如果不准确请见谅),配合操作更易理解。感兴趣的童鞋可以了解一下。

论坛视频暂停就看不了文字了,我传到b站上了:Gkroam 使用演示,可以提高清晰度。

https://video-1258820352.cos.ap-nanjing.myqcloud.com/gkroam-demo-v237.mp4

7 个赞

更新:若干代码实现的优化

  • 根据 @Youmu 的建议, 设置 gkroam-mode 为 minor mode。按键绑定到 gkroam-mode-map, 优先级更高。(注意更新配置)

  • Link brackets 的渲染由 overlay 改为 text-properties 实现。

  • 删掉了 gkroam-toggle-dynamic ,动态模式在 text properties 中不好实现。且原本的代码有bug(光标不闪)。

  • 优化了 gkroam-smart-new 的逻辑,更加智能。

    • 当前 buffer 不是 gkroam page , gkroam-capture buffer, gkroam-index buffer 时,当前光标或region下的单词作为 title,直接创建或打开 page。
    • 当前 buffer 是 gkroam page,gkroam-capture buffer, gkroam-index buffer 时,当前光标下或 region 下的单词作为 title, 如果 page 不存在,插入链接并打开文件;如果 page 存在,只插入链接。
    • 如果当前光标下没有单词,也没有 region,调用 gkroam-find

希望能够把 company 这个依赖解决掉)

怎么解决呢,page link 的补全需要依赖 company 的,而且大家基本都有装的。

主要是 company-completion-finished-hook 这个hook是 company 里面定义的。单独只用这个hook而不依赖 company可以吗?

我不太懂,大佬赐教。

我是发现在 org-mode 下可以用 C-M-i 补全 #+ 后面的名称,或者是 [[的链接。

例如正在写一个表格的描述,那么可以先输入 #+,然后当光标在 +后面时按 C-M-i 会显示出一个补全列表,里面选择DESCRIPTION就是。

我想的是这里完全可以不用 company 来实现补全的功能,需要用户自己手工触发一下。

1 个赞

可以,回头我研究一下。

更新 v2.4.0 : 性能提升 与 reference 优化

  • 删除 gkroam-toggle-dynamic 模块
  • 使用 gkroam minor mode 代替 gkroam major mode
  • 使用 text properties 渲染 link,显示更稳定
  • 更多缓存,性能显著提升
    • 缓存 page filename, 页面打开速度显著提升.
    • 缓存 page reference,只在有改变时更新
  • linked references 优化
    • 显示 Org plain list 的每一级父 item
    • 高亮每一块 reference 区域
    • Backlink 可以精确返回到引用链接的行
1 个赞

更新 v2.4.1:

  • 实现类似 Roam Research ‘all pages’ 的 gkroam-index buffer.
  • 新增命令 gkroam-delete, 用于删除 page.
  • 重命名 gkroam-insert-new 命令为 gkroam-dwim.
2 个赞

更新 v2.4.2 : Unlinked References

  • 使用命令 gkroam-show-unlinked 在 side window 显示 unlinked references.
  • 点击链接将该条 unlinked reference 变成 linked reference.

company 依赖有时间能用 lsp-bridge 来做吗,不想安装它 :rofl: