首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
V2EX  ›  分享创造

VNote:一个更懂程序员和 Markdown 的笔记软件

  •  5
     
  •   tamlok · 135 天前 · 4597 次点击
    这是一个创建于 135 天前的主题,其中的信息可能已经有所发展或是发生改变。

    VNote是一款跨平台的开源 Markdown 笔记软件(项目地址 )。不像其他多数宣称跨平台的软件,VNote 将 Linux 和 Windows 都作为主要支持平台,在 Linux 上提供非常优秀的体验。VNote 的目标是做一个带有舒适 Markdown 编辑体验的笔记软件,或者带有强大文件管理功能的 Markdown 编辑器。VNote 借鉴了程序员日常使用的代码编辑器的很多优点,特别是 Vim 的很多优秀思想,努力成为一款更懂程序员和 Markdown 的笔记软件。

    需要强调的是,VNote 是一款笔记软件,而不是一款 Markdown 编辑器。所以,对比的应该是为知笔记或 VSCode 或 Vim 等笔记软件,而不是 Typora 等编辑器。

    第一印象

    主界面

    VNote 界面的设计原则是尽量利用所有空间,因此没有当前流行的大额头或者侧边栏大按钮,占据主要空间的就是编辑区域。

    • 左侧是导航栏,支持笔记本导航、历史文件、浏览外部文件系统以及标签导航;
    • 中间是编辑区域,支持多个标签;
    • 右侧是工具栏,包括大纲、片段以及小推车;
    • 右下角是全文搜索,支持针对当前已打开文件、当前文件夹、当前笔记文本以及所有笔记本的搜索,包括文件名、内容、标签以及大纲搜索;
    • 底部是状态栏,包括 Vim 状态栏、标签栏、编辑器状态栏以及字数统计;
    • 顶部是工具栏,其中包括附件、通用入口、灵犀页等常用功能;

    左右两侧的栏目都可以通过一个快捷键隐藏或显示,从而可以将编辑区域最大化。VNote 使用笔记本-文件夹-笔记的层级结构来维护数据,所有数据都是开放的纯文本,因此可以使用其他任意标准工具来编辑或阅读 VNote 的笔记。VNote 不提供数据同步功能,用户需要自己使用第三方的同步软件将数据同步到其他 PC 上,然后重新导入到 VNote 中。

    舒适的 Markdown 体验

    Markdown 有着天生的编辑和阅读的割裂感。当前主流的处理方式主要有三种:

    1. 单纯按纯文本处理,代表软件是为知笔记,其缺点是只有黑压压的文字;
    2. 双边实时预览,左侧编辑模式,右侧实时预览阅读效果,代表软件就很多了,其缺点是仍然割裂,而且浪费空间。现在如果一个软件还采用双边实时预览来编辑 Markdown,那基本是拿不出手了;
    3. 类富文本实时渲染模式,代表软件是 Typora,其缺点是矫枉过正,和 Markdown 的设计理念背道而驰;

    VNote 采用的是一种折中的方案——语法高亮和原地预览。通过精心的语法高亮以及图片原地预览,希望能在保证 Markdown 简洁的前提下,尽可能帮助用户掌握文章信息和脉络。

    编辑界面

    VNote 区分编辑和阅读模式,这是 VNote 编辑模式的一个界面。该界面展示了 VNote 支持的主要 Markdown 元素:

    • 所有文本都没有隐藏,而且可以直接访问;
    • 语法高亮标题、粗体、斜体;
    • 代码块语法高亮;
    • 公式、图片原地预览,支持 PlantUML、Flowchart 等图表增强;
    • 行号,包括相对行号或绝对行号;

    刚从双边实时预览的软件迁移到 VNote 时,可能会觉得不太习惯,但随着对 Markdown 的熟悉,对阅读的效果会越来越有信心,基本能做到在编辑模式下看到的是什么效果,在阅读模式就是这样的效果。如果是刚从 Typora 迁移过来,则很多人可能都会写错语法,因为使用 Typora 基本不用关注 Markdown 的语法,这算是 Typora 的利弊吧。

    随心所欲的图片支持

    VNote 支持直接粘贴插入图片,包括下载并插入网络图片。VNote 会将图片保存到与笔记文件同文件夹下面的一个文件夹,所以用其他编辑器打开 VNote 的笔记,一般都是可以正常显示图片的。另外,VNote 还会管理插入的图片,将不再需要的图片自动清理。

    插入图片

    Markdown 与富文本的交互

    VNote 支持直接粘贴复制的富文本(如网页),VNote 会将富文本解析为 Markdown,并自动下载图片到本地。另外,VNote 也支持将 Markdown 文本复制为富文本,包括微信公众号、Word 或 OneNote 等。

    复制为富文本

    通用入口,让一切触手可达

    VNote 借鉴了代码编辑器里面的模糊搜索功能,提供了通用入口功能。通过一个简单的快捷键即可唤出一个输入框,输入内容,即可实现全文搜索、大纲搜索等功能。

    通用入口

    在当前所有打开文件中搜索markdown

    搜索已打开文件

    在当前所有打开文件的大纲中搜索vnote

    搜索大纲

    在 VNote 中,我基本很少使用工具栏那个传统的全文搜索了。要打开一个文件?通用入口!要查找一个关键字?通用入口!搜索所有大纲?通用入口!列出指定标签的文件?通用入口!全程快捷键高速操作,C++实现的全文搜索引擎即刻为你呈现所有结果!

    Vim 的疯狂

    VNote 名字的由来是: “ A Vim-inspired note-taking application ”,后面有 EMACS 用户抱怨所以才慢慢把这个标语去掉了,但 Vim 思想对 VNote 的影响可以说得上是疯狂。

    VNote 编辑器是自己实现了一个简单的 Vim 模式,基本的操作都支持,标记、寄存器等也有支持,唯一可惜的是还没有支持.操作。

    VNote 对 Vim 的疯狂可以体现在:

    • 所有列表都支持Ctrl+J/K上下导航;
    • 所有编辑框都支持Ctrl+U/W/H向前删除;
    • 借鉴 Vim 的前导键,引入舰长模式,基本主要快捷键都通过Ctrl+E前导键开始,避免和其他软件的冲突;
    • 借鉴 Vim 的easy-motion插件,引入导航模式,所有部件都能通过快捷键来获取焦点。

    导航模式

    细节周到,惊喜不断

    由于是个人作品,因此 VNote 能非常灵活地提供一些非常有趣的巧妙的小功能,例如:

    • 灵犀页:一个可以用快捷键打开的临时的页面;
    • 快速访问:可以设置一个笔记通过快捷键打开;
    • 小推车:任意多选笔记,然后统一处理,例如导出;
    • 片段:通过快捷键插入常用文本;
    • 幻词:快速插入当前日期等信息,支持编辑器以及新建笔记等输入框;
    • 高亮光标行,锁定光标行到编辑区域中央;
    • 编辑 PlantUML 图表时,能双向同步编辑与预览;

    VNote 还有很多贴心和强大的功能,有兴趣的可以下载尝试。VNote 提供了 AppImage 格式打包的文件,直接下载运行即可。希望这款基于 Qt 框架开发的笔记软件,能给你带来有别于一众基于 Electron 开发的其他编辑器的全新体验!

    原文链接

    67 回复  |  直到 2019-07-11 08:26:32 +08:00
        1
    deepdark   135 天前 via Android   ♥ 1
    支持,看起来不错
        2
    jdhao   135 天前 via Android   ♥ 1
    支持大佬
        3
    dugive   135 天前 via Android   ♥ 1
    >类富文本实时渲染模式,代表软件是 Typora,其缺点是矫枉过正,和 Markdown 的设计理念背道而驰

    弱弱地说,私以为 typora 很面向未来,吸收了 markdown 的优势,这个背道而驰有点太夸张了吧……

    但产品是真的很棒,支持
        4
    tamlok   135 天前
    @dugive Typora 有点像是用快捷键使用 Word。用惯了 Markdown 的话,还是喜欢所有原文本信息都呈现,这样比较直观踏实。很久之前,我用 Vim 编辑 Markdown,Vim 有一个 Conceal 的特性,能够将非光标所在行的一些标记隐藏,比如*和反引号等等,刚开始很喜欢这个特性,后来发现很别扭。Markdown 的标记本来就是设计得很直观简单,所以个人感觉没必要将文本元素马上转换为 HTML 标记。

    谢谢支持~
        5
    dugive   135 天前   ♥ 1
    @tamlok
    主要还是通用性和易用性之间的权衡,支持。
    不同人的 taste 不同,最终我可能选择 gitbook ……
        6
    laycher   135 天前 via iPhone   ♥ 1
    哈哈,你还没有重构呢,进展如何了
        7
    jorneyr   135 天前   ♥ 4
    丑,凭这一点就不考虑
        8
    tamlok   135 天前 via Android
    @jorneyr
        9
    tamlok   135 天前 via Android
    @laycher 已经能显示文件树了😁
        10
    ThirdFlame   135 天前   ♥ 1
    好用,代表我们的小团队已经捐助了,荣登捐助榜了。
        11
    juanxincai   135 天前   ♥ 1
    真心好用啊,现在用 typora 也就是导出 PDF,要编辑还是 vnote~
        12
    chengfu   135 天前 via iPhone   ♥ 1
    我就问有没有连接七牛云图床和发到 wordpress 的功能,(我是来搞笑的)因为 windows 下缺一个写博客的软件,所以我好久没有写博客了(^-^)
        13
    bbsteel   135 天前 via Android   ♥ 1
    用了一年多了都,强力推荐。
    目前看源码,用 puml 画图实时渲染很不错
    ps,提个意见,渲染的 uml 图会强制缩放符合宽度,能否设置为 100%显示呢,这种场景我不介意左右滑动的。
        14
    tamlok   135 天前 via Android
    @juanxincai vnote 也支持丰富的导出呀,可以调用 pandoc 各种导出
        15
    tamlok   135 天前 via Android
    @chengfu 后面会添加。打算把 vnote 弄成一个平台,然后在上面各种扩展
        16
    tamlok   135 天前 via Android
    @bbsteel 你可能是打开了限制预览宽度,后面会再细分 puml 和真正的图片预览是否限制宽度。我一般把限制宽度去掉的,按住 ctrl 拖动鼠标就能平移查看预览或图片,ctrl-j/k 上下移动。
        17
    chengfu   135 天前 via iPhone
    @tamlok #15 那你动作要快了,好像之前测试了一个叫啥来的着忘了,就是插件形式支持各种功能扩展
        18
    chengfu   135 天前 via iPhone
    其实,你是想要整成一个程序员们用的还是是人就能用的?逼人虽然混迹 V 站,也干过产品经理,但我实际上的身份是奋斗在一线的建筑设计师,或许可以一起探讨探讨
        19
    tamlok   135 天前 via Android
    @chengfu 应该还行,那个应该是 electron 的,不怕不怕😂
        20
    tianzry   135 天前 via Android   ♥ 1
    非常喜欢的一个笔记软件!强烈推荐
        21
    tamlok   135 天前 via Android
    @chengfu 后面打算也支持富文本啥的。就是借鉴代码编辑器的众多优点到笔记软件上面。因为程序员也是各种追求编辑效率的,很多经验值得推广到笔记软件上面。
        22
    chengfu   135 天前 via iPhone
    markdown,一个圈内,一堆圈外
        23
    Kobayashi   135 天前   ♥ 1
    兄弟,来个导入吧,用了半年多还没有完全迁移过去,因为图片不能被正确导入…… 文本导入没有什么问题。另外,这个 vim 模式有点弱啊,有没有 Visual Block Mode ?

    另外,最近几个版本好像搜索后不能跳转到结果行了?
        24
    ddup   135 天前 via Android
    感觉不错
        25
    DarrenTitor   135 天前   ♥ 1
    一直在用 typora,来试试这个 hhh
        26
    bbsteel   135 天前   ♥ 1
    @tamlok 找到了, 嗯, 这个功能在 Markdown 菜单下的"限制原地预览宽度"那里, 之前在设置里找了好久. 可能你也发现了, 关于 markdown 的设置一部分在设置里, 一部分分布在菜单里. 另外取消限制原地预览宽度后, 左右拖动有点卡慢. 可能是机器原因(没有显卡).

    另外还有个小建议, 就是导入. 一个 md 文件想纳入 vnote 管理, 直接复制粘贴是不行的, 必须更新元数据 json 才能在 vnote 看到. 要维持 json 文件的完整性也是挺麻烦的, 我有使用坚果做文件夹同步, 在之前就发生过 json 文件同步有误, 导致 vnote 文件和实际磁盘文件不配对的情况.

    还有一个功能也挺重要的, 即自动备份, 因为发生过丢失文件的事故, 我只好用计划任务搞了一个凌晨备份, 但是管理很不便, 比如不能限制备份天数, 如果要实现估计还得写 ps 脚本. 建议是否增加一个闲时备份功能?

    最后这个项目实在是面向程序员的用心之作, 我都抛弃续费到 2022 年的 wizNote, 成为了重度使用者, 为这个软件付费我也是愿意的, 因为确实提高了效率, 而且使用一年多, 我仍在不断发现新的特性. 比如上文提到的 puml, 一边读源码, 一边用 puml 简单的语法记笔记, vnote 原地预览出 uml 图, 感觉效率非常高.

    不知道 vnote 后续是否只会做一些补丁更新, 规划中的 vnotex 相对 vnote 最主要的进步又是哪些呢?
        27
    ningfeng   135 天前
    但是这个也太丑了吧,和 typora 比。。。。
        28
    hyuka   135 天前 via iPhone   ♥ 1
    看着还不错,只是第一印象那张图片第一感觉就是 word
        29
    jason94   135 天前   ♥ 1
    之前一直用,非常不错。
    就是同步不太方便,我只能忍痛换了 vscode
        30
    tamlok   135 天前 via Android
    @jason94 目前同步直接用第三方软件同步数据即可,后面会支持内建同步
        31
    tamlok   135 天前 via Android
    @Kobayashi 后面会加强导入功能。跳转结果现在需要在设置里面杂项中开启。
        32
    brucmao   135 天前 via iPhone
    我在用 Jupyter notebook
        33
    tamlok   135 天前
    @ningfeng 还好吧,前端相对于桌面端还是更容易讨喜眼球
        34
    tamlok   135 天前
    @bbsteel

    - vnotex 对于导入会有突破性改善;
    - 目前 vnotex 有交换文件以及回收站,所以一般不容易发生丢失;不知道你说的丢失是指哪方面?如果是因为硬盘啥的,那可以使用任意第三方备份软件备份笔记本所在文件夹即可;
    - puml 还有一个互通的特色功能,`ctrl-e i`打开实时预览,双击 puml 代码块里面某个类名之类的,预览里面会对应高亮相关元素;反之亦然,非常适合大类图。
        35
    my101du   135 天前   ♥ 1
    我丢过两次内容,是彻底丢失某个 markdown 文件的全部文本内容。

    难得作者在这里,不知道能不能复现问题并解决。

    不过赞一个这个产品。市场上这么多 markdown 编辑器 /笔记软件,只要是 electron 开发的,遇到大文本的时候那种卡顿和内存占用,分分钟让人怀疑人生。
    作者这个用 QT 开发的,速度方面真的杠杠的。

    步骤:
    0. brew cask install 安装的最新版本
    1. 在 “设置”里一通个性化修改,例如默认为编辑模式;字体修改;等等(默认的设置不太符合习惯,我从 mweb 过来的,默认就是编辑) 最重要的是,手动添加了一个快捷键 cmd+s 保存文件(我也不知道为什么默认没这个)
    2. 导入一个本地的文件夹,里面有若干 md 文件。
    3. 重启后正常在左侧目录窗口里显示文件列表
    4. “单击”打开一个文件编辑( vnote 默认是单击打开,双击会同时打开两个相同 tab )
    5. 编辑一段时间后,手动 按 cmd+s 保存
    6. 这个时候编辑窗口里突然所有的字体都变大了一点,感觉就是编辑窗口晃了一下(之前没出问题的时候,并不会有这个异常)
    7. cmd+w 关闭这个 tab
    8. 再打开,里面内容全部不见了
    9. 回到 finder 里去看,这个 md 文件变成了 0 byte
    10. 这个问题并不会一直出现,是偶然的。我用了两个小时,随机出现两次导致抹掉文件内容。幸好之前有个备份。。。
        36
    tamlok   135 天前   ♥ 1
    @my101du `cmd+s`保存应该是支持的,`cmd+w`反倒不支持的,这个是你自定义的吗?在 VNote 里面,遵循 shell 的习惯,`cmd+w`应该是向前删除一个单词。能不能试试官网下载的`dmg`有没有这个问题?后面打算更新一下 xcode 的版本看看。因为我没有 mac,所以 mac 上很多问题都得用户反映,然后我去虚拟机里面尝试复现。我后面看看。

    Qt 在 mac 上的确有点恶心,和 win 以及 linux 两个平台很多情况都不太一样,比如列表里面,win 以及 linux 是回车激活一个 item,而 mac 上默认是`cmd+o`激活~~

    谢谢!
        37
    ThirdFlame   135 天前   ♥ 1
    同步 现在都我不是直接使用 git 同步到私人仓库,反正都是 md,很快就搞定了。
        38
    tamlok   135 天前
    @ThirdFlame 我是自建一个 owncloud。后面 vnote 会支持内建 git 同步。
        39
    my101du   135 天前
    @tamlok 谢谢回复! 用心了! 我试试下 dmg 的看看。
        40
    juanxincai   135 天前
    @tamlok #14 哈哈,回头研究一下,typora 的一键导出用习惯了
        41
    DAPTX4869   135 天前
    下载试试,能加入 git 同步就好了
        42
    tamlok   135 天前 via Android
    @DAPTX4869 后面会加入,现在只能自行同步数据,然后导入到 vnote。
        43
    DAPTX4869   135 天前
    试了下
    新建笔记后,把以前的 md 笔记扔过去...
    不知道要怎么搞才能显示出来
    那个浏览器看文件效果挺好,就是不知道上面的那个收藏啥意思
    点击收藏不知道去哪里查看收藏列表...还是说收藏路径?
        44
    tamlok   135 天前
    @DAPTX4869 如果是笔记本,需要修改`vnote.json`索引文件添加新的外部文件。浏览器里面,收藏就是收藏根路径,重启 vnote 后,仍然能够看到;其他没有收藏的根路径,重启后就消息了,这样不会原来原乱。另外,随便拖动一个文件夹到 vnote 里面,是可以直接在浏览器里面以根目录浏览的,作为一个编辑器也是很方便的。外部文件不支持 tag 和附件,其他全文搜索什么的也有。
        45
    Kobayashi   134 天前
    @tamlok 杂项中这个高亮我已经开了。现在问题是高级搜索,针对当前笔记本的所有搜索结果。一个笔记下会列出匹配行内容及行号。点击带有行号的匹配行并不能跳转到对应的行,一个笔记下的所有匹配结果全部都跳转到了第一个匹配行。印象里原来是可以跳转到匹配行的,难道是我记错了?
        46
    est   134 天前
    在用 leanote 的路过。。
        47
    DeepRedApple   134 天前   ♥ 1
    感觉好丑
        48
    tamlok   134 天前 via Android
    @Kobayashi 后面改进一下
        49
    tamlok   134 天前 via Android
    @DeepRedApple 您觉得 vim 丑还是不丑?
        50
    leeZoom   134 天前 via Android
    昨天试了一下,还是喜欢 typora 这种所见即所得的( vnote 也有一点的实时预览功能,如果把这个功能做的更强大一点就好了)
        51
    gaocc   134 天前   ♥ 1
    看到这复杂的界面,不知道为什么就不想用了。用 markdown 最初的目的就是为了简单几下操作,就能出现样式,流程图,时序图等 UML,还有图片。
    最后导出 pdf,给同事看,效率认为比较高。
    所以一直用的 Typora
        52
    lauix   134 天前   ♥ 1
    https://bimo.io 笔墨路过 支持下!
        53
    tamlok   134 天前 via Android
    @gaocc 因为这是一个笔记软件,不是一个 md 编辑器,编辑器的话,中间那个区域就可以了。可定制和简洁总会有点矛盾的。
        54
    tamlok   134 天前 via Android
    @leeZoom 嗯,大家理念不太一样,有人喜欢双边预览,有人喜欢类富文本,我比较喜欢折中😂
        55
    standin000   134 天前   ♥ 1
    支持下,希望早日出 app 版本。
        56
    yuankui   134 天前
    挺好的,我用 Notion
        57
    tamlok   134 天前 via Android
    @yuankui 挺好的,我继续用我的 VNote😁
        58
    laoyuan   134 天前   ♥ 1
    试用一下,我的需求是纯文本 + 链接识别,尤其是十万字以上的文本中链接识别的效率。以及全局检索的效率
        59
    Leu   134 天前
    这个应该就是云同步不行把
        60
    tamlok   134 天前
    @Leu 自行用第三方服务同步(坚果云 /owncloud/onedrive ),更放心!后面会内建 git 之类的同步支持。
        61
    tamlok   134 天前
    @laoyuan vnote 可以较为轻松地处理 10 万字的 markdown~
        62
    yuankui   134 天前
    没有拆台的意思哈。
    Notion 这个东西设计的不错,组件化,小白化,楼主可以参考看看。
        63
    SuperMild   134 天前
    @yuankui notion 毕竟本质上是收费的。
        64
    yuankui   134 天前
    @SuperMild 设计思想是免费的嘛~
        65
    yuuko   134 天前   ♥ 1
    支持
        66
    bbsteel   133 天前 via Android
    @leeZoom typora 没有 vim 模式啊,另外,vnote 也不能说就不是所见即所得,所有 markdown 的格式一样渲染了,只是并未是那么正式的渲染而已,对我而言已经足够,另外全部渲染隐藏了一些格式字符,对编辑就不如半渲染保留格式字符来的友好。
        67
    whywhywhy   99 天前
    就像楼上说的,真心丑,有种回到上个世纪的感觉,楼主你需要一个 UI 方面的帮忙设计一下
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3510 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 34ms · UTC 04:12 · PVG 12:12 · LAX 21:12 · JFK 00:12
    ♥ Do have faith in what you're doing.