热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

VNote是一款跨平台的开源Markdown笔记软件(项目地址)。不像其他多数宣称跨平台的软件,VNote将Linux和Windows都作为主要支持平台,在Linux上提供非

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

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

第一印象

主界面

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

  • 左侧是导航栏,支持笔记本导航、历史文件、浏览外部文件系统以及标签导航;

  • 中间是编辑区域,支持多个标签;

  • 右侧是工具栏,包括大纲、片段以及小推车;

  • 右下角是全文搜索,支持针对当前已打开文件、当前文件夹、当前笔记文本以及所有笔记本的搜索,包括文件名、内容、标签以及大纲搜索;

  • 底部是状态栏,包括 Vim 状态栏、标签栏、编辑器状态栏以及字数统计;

  • 顶部是工具栏,其中包括附件、通用入口、灵犀页等常用功能;

左右两侧的栏目都可以通过一个快捷键隐藏或显示,从而可以将编辑区域最大化。VNote 使用

1
笔记本-文件夹-笔记

的层级结构来维护数据,所有数据都是开放的纯文本,因此可以使用其他任意标准工具来编辑或阅读 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 借鉴了代码编辑器里面的模糊搜索功能,提供了通用入口功能。通过一个简单的快捷键即可唤出一个输入框,输入内容,即可实现全文搜索、大纲搜索等功能。

通用入口

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

1
markdown

搜索已打开文件

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

1
vnote

搜索大纲

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

Vim 的疯狂

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

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

1
.

操作。

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

  • 所有列表都支持
    1
    Ctrl+J/K

    上下导航;


  • 所有编辑框都支持
    1
    Ctrl+U/W/H

    向前删除;


  • 借鉴 Vim 的前导键,引入
    1
    舰长模式

    ,基本主要快捷键都通过

    1
    Ctrl+E

    前导键开始,避免和其他软件的冲突;


  • 借鉴 Vim 的
    1
    easy-motion

    插件,引入

    1
    导航模式

    ,所有部件都能通过快捷键来获取焦点。


导航模式

细节周到,惊喜不断

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

  • 灵犀页:一个可以用快捷键打开的临时的页面;

  • 快速访问:可以设置一个笔记通过快捷键打开;

  • 小推车:任意多选笔记,然后统一处理,例如导出;

  • 片段:通过快捷键插入常用文本;

  • 幻词:快速插入当前日期等信息,支持编辑器以及新建笔记等输入框;

  • 高亮光标行,锁定光标行到编辑区域中央;

  • 编辑 PlantUML 图表时,能双向同步编辑与预览;

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

原文链接

支持,看起来不错


推荐阅读
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本文探讨了如何在 PHP 的 Eloquent ORM 中实现数据表之间的关联查询,并通过具体示例详细解释了如何将关联数据嵌入到查询结果中。这不仅提高了数据查询的效率,还简化了代码逻辑。 ... [详细]
  • 俗话说得好,“工欲善其事,必先利其器”。这句话不仅强调了工具的重要性,也提醒我们在任何项目开始前,准备合适的工具至关重要。本文将介绍几款C语言编程中常用的工具,帮助初学者更好地选择适合自己学习和工作的编程环境。 ... [详细]
  • 本文详细介绍如何使用arm-eabi-gdb调试Android平台上的C/C++程序。通过具体步骤和实用技巧,帮助开发者更高效地进行调试工作。 ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 如何高效创建和使用字体图标
    在Web和移动开发中,为什么选择字体图标?主要原因是其卓越的性能,可以显著减少HTTP请求并优化页面加载速度。本文详细介绍了从设计到应用的字体图标制作流程,并提供了专业建议。 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • 如何彻底清除顽固软件如360
    本文详细介绍了如何彻底卸载难以删除的软件,如360安全卫士。这类软件不仅难以卸载,还会在开机时启动多个应用,影响系统性能。我们将提供两种有效的方法来帮助您彻底清理这些顽固软件。 ... [详细]
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
author-avatar
vivi_康冬薇
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有