Full introduction to Gkroam, Up to version 2.3.7

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

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

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

6赞

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

  • 根据 @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 来实现补全的功能,需要用户自己手工触发一下。

可以,回头我研究一下。

更新 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赞