热门标签 | 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 开发的其他编辑器的全新体验!

原文链接

支持,看起来不错


推荐阅读
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 使用Matlab创建动态GIF动画
    动态GIF图可以有效增强数据表达的直观性和吸引力。本文将详细介绍如何利用Matlab软件生成动态GIF图,涵盖基本代码实现与高级应用技巧。 ... [详细]
  • 本文详细介绍如何安装和配置DedeCMS的移动端站点,包括新版本安装、老版本升级、模板适配以及必要的代码修改,以确保移动站点的正常运行。 ... [详细]
  • Ubuntu系统下的GIF动画录制解决方案
    在撰写文章或教程时,GIF动态图能够有效地传达信息。对于Windows用户而言,ScreenToGif是一款非常实用的工具。而在Ubuntu系统中,用户同样拥有多种选择来创建GIF动画,本文将重点介绍两款录屏工具——Byzanz和Peek。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • 本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ... [详细]
  • Linux系统快捷键大全及使用技巧
    本文详细介绍了Linux系统中的各种快捷键,包括命令行和VIM编辑器中的常用快捷键,帮助用户提高操作效率。同时,文章还提供了关于字体配置、软件安装等方面的实用信息。 ... [详细]
  • Centos7 Tomcat9 安装笔记
    centos7,tom ... [详细]
  • 本文介绍了编程语言的基本分类,包括机器语言、汇编语言和高级语言的特点及其优缺点。随后详细讲解了Python解释器的安装与配置方法,并探讨了Python变量的定义、使用及内存管理机制。 ... [详细]
  • Nacos 0.3 数据持久化详解与实践
    本文详细介绍了如何将 Nacos 0.3 的数据持久化到 MySQL 数据库,并提供了具体的步骤和注意事项。 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 解决针织难题:R语言编程技巧与常见错误分析 ... [详细]
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
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社区 版权所有