当前位置: 首页 > news >正文

编辑器汇总:Neovim、Helix、Vim、LazyVim、Kakoune、nb、Lite XL

概述

在整理笔记软件时,意识到笔记解决方案(工具软件)最基础功能是编辑,一款好用好看趁手的编辑器能很大程度上提高知识整理效率。另一方面,有编辑功能之后,就拥有最基础的笔记整理功能,编辑和笔记整理两者之间的界限好像也不大。

本文汇总的开源或闭源编辑器如下:

  • 闭源:
  • 开源:Neovim、Helix、Kakoune、nb、Lite XL

Neovim

官网,开源(GitHub,93.6K Star,6.4K Fork)。

不仅仅是另一个Vim分支,而是一次彻底的架构重构,在保持向后兼容性的同时解决原始代码库的根本性限制。项目核心理念围绕四个关键原则:

  • 通过更清晰的代码组织和现代开发实践简化维护
  • 分布式开发使多个开发者能同时在不同的子系统上工作
  • 通过强大的API系统实现高级UI能力而无需修改核心代码
  • 最大可扩展性支持多语言插件和远程执行

架构采用模块化设计,将关注点分离到不同的子系统中:
在这里插入图片描述
如上图,三个核心组件

  • 事件驱动:事件循环系统,负责处理所有异步操作,包括用户输入、作业控制和插件通信,用于实现非阻塞操作和响应式用户体验;
  • API系统:提供全面API,允许外部程序和插件以编程方式与编辑器交互,是现代GUI实现和语言服务器集成的基础;
  • MessagePack-RPC:Neovim与外部进程之间的通信使用MessagePack-RPC,为插件通信提供快速、高效的二进制协议。

关键特性

  • 多语言API支持:包括C/C++、Python、JS/Node.js、Lua、Rust、Go等,这使开发者能够使用自己偏好的语言编写插件,而不必局限于Vimscript;
  • 嵌入式终端模拟器:内置的终端模拟器允许直接在编辑器中运行shell命令,实现强大的基于终端的工作流而无需离开Neovim;
  • 异步作业控制:支持异步作业执行,防止编辑器在长时间运行的操作中阻塞。这对于运行代码检查、编译或测试任务特别有用;
  • 现代GUI架构:通过API系统,无需修改核心编辑器即可实现复杂的GUI实现。流行GUI客户端如Neovide、Goneovim和nvim-qt展示了这一能力;
  • XDG基础目录支持:遵循XDG基础目录规范,将配置文件放置在标准位置如~/.config/nvim/,而不是杂乱地放在主目录中;
  • 构建系统与开发:使用CMake作为其主要构建系统,提供跨平台支持和依赖管理。构建过程非常直接:
make CMAKE_BUILD_TYPE=RelWithDebInfo
sudo make install

Helix

官网,开源(GitHub,40.6K Star,3.1K Fork)基于Rust、受Kakoune和Neovim启发的后现代模态文本编辑器。采用Vim风格的模态编辑,内置Language Server Protocol(LSP)支持,提供智能补全、语法检查等功能,让你的代码更加规范、高效;基于Tree-sitter的语法高亮,让代码更加清晰易读。

优势:

  • 模态编辑,效率至上:借鉴Vim的模态编辑模式,让你在不同模式间快速切换,高效完成各种编辑任务;
  • 多重选择,批量操作:支持多重选择,可以同时编辑多个位置的代码,大幅提升效率;
  • 内置LSP支持,智能编码:无需额外配置,即可享受智能补全、语法检查等LSP提供的强大功能;
  • Tree-sitter语法高亮,清晰易读:提供更准确、更美观的代码显示效果;
  • 开箱即用,无需繁琐配置:告别复杂配置过程,默认提供良好的使用体验。

Vim

官网,开源(GitHub,39.2K Star,5.9K Fork)。无需多言,鼎鼎大名的编辑器,参考Vim小技巧。

围绕着Vim有很庞大的生态:

  • vimrc:GitHub,31.5K Star,7.3K Fork;用于配置;
  • VimWiki:

VimWiki

官网,一款基于Vim编辑器的开源(GitHub,9.3K Star,640 Fork)个人Wiki工具,作为维基功能与Vim的无缝集成,可用于创建一个具有专用语法高亮功能的链接文本的文件网络,使知识管理变得自然高效。

功能:

  • 整理笔记和想法,采用结构化、相互关联的格式
  • 管理待办事项列表,具备进度跟踪功能
  • 编写文档,使用轻量级标记语法
  • 维护日记,包含日期化的条目
  • 将所有内容导出为HTML,便于分享或发布

典型工作流程:
在这里插入图片描述
开箱即用地支持多种语法格式:

  • VimWiki:默认,具有最佳支持的原生语法
  • Markdown:适合喜欢Markdown语法的用户
  • MediaWiki:对MediaWiki风格标记的基本支持

提供广泛且灵活定制配置选项:

  • 维基路径和位置
  • 语法偏好
  • 文件扩展名
  • 菜单和按键绑定等UI元素
  • HTML导出设置

优势:

  • Vim集成:不仅仅只是一个插件,更是Vim的原生扩展,使用其编辑功能、移动命令和模式特性;
  • 纯文本重点:您的知识存储在纯文本文件中,确保长期性、可移植性和版本控制友好性;
  • 灵活结构:虽然通过链接和组织提供结构,但它不强制执行严格的层次结构,让知识能够有机增长;
  • 导出功能:凭借内置的HTML导出功能,可轻松分享知识或将其发布为静态网站;
  • 可扩展性:该插件设计为可扩展,提供自定义链接处理器、转换器等的钩子。

MediaWiki

官网,开源(GitHub,4.8K Star,1.5K Fork)。

LazyVim

官网,开源(GitHub,23.5K Star,1.7K Fork)。

一个现代化的Neovim发行版,能将编辑器转变为功能齐全的IDE,同时保持Neovim开发者所喜爱的速度和灵活性。基于强大的lazy.nvim插件管理器构建,LazyVim在开箱即用功能和深度定制能力之间实现完美平衡。

优势:

  • IDE体验:通过智能代码补全、语法高亮、调试等功能,将Neovim转变为完整的开发环境;
  • 轻松定制:利用lazy.nvim强大的插件管理系统,轻松添加、删除或配置插件;
  • 极致性能:通过懒加载和高效的资源管理,针对速度进行优化;
  • 合理默认值:遵循现代Neovim最佳实践,预配置选项、自动命令和键盘映射;
  • 丰富插件生态:附带精心挑选、预配置且可立即使用的插件。

采用模块化架构,分离关注点,使定制变得直观:
在这里插入图片描述
如上图,三个核心模块:配置、插件、工具。

配置系统被组织为逻辑模块,在启动时自动加载:

组件用途位置
选项全局Neovim设置和偏好lua/lazyvim/config/options.lua
键盘映射默认键盘映射和快捷键lua/lazyvim/config/keymaps.lua
自动命令自动命令触发器和事件lua/lazyvim/config/autocmds.lua

插件分类

类别描述关键文件
编辑器核心编辑增强功能和工具plugins/editor.lua
编码语言无关的开发工具plugins/coding.lua
LSP语言服务器协议集成plugins/lsp/
UI可视化界面和主题plugins/ui.lua,plugins/colorscheme.lua
语言特定语言支持包plugins/extras/lang/

工具:LSP、TreeSitter、格式化。

lazy.nvim

官网,开源(GitHub,19.2K Star,498 Fork),

Kakoune

官网,开源(GitHub,10.5K Star,752 Fork),

nb

开源(GitHub,7.7K Star,234 Fork),官方文档,用最简单的工具解决最复杂的信息管理问题。摒弃图形界面的冗余,回归文本与命令的高效本质,通过精巧设计覆盖从笔记到出版的完整知识工作流,一款优质的知识管理利器。

融合笔记管理、书签归档、知识库构建甚至简易博客发布等功能,全部通过命令行操作实现。其核心目标是:

  • 无依赖:纯Shell脚本编写,无需安装额外运行时;
  • 跨平台:支持macOS、Linux及Windows(通过WSL);
  • 格式中立:支持Markdown、Org模式、LaTeX等纯文本格式,兼容任意编辑器(Vim、VS Code等)。

核心功能:

  1. 笔记与知识管理

    • 快速记录:一条命令即可创建/编辑笔记:nb add "会议记录" --content "项目里程碑确定于下周"
    • 分类与标签:通过目录层级和#tag灵活组织内容;
    • 全文检索:支持关键词过滤与正则搜索,如nb search API设计。
  2. 书签与网页归档

    • 保存链接并自动抓取标题和内容摘要:nb https://github.com/xwmx/nb
    • 支持离线阅读,内容以Markdown存储,便于二次加工。
  3. 加密与隐私保护:敏感笔记可通过nb encrypt进行AES-256加密,密钥由用户保管,无云端泄露风险;

  4. Git版本控制与同步:自动初始化Git仓库,所有变更可追溯。一键同步至GitHub/GitLab,实现多设备间无缝协作;

  5. Pandoc文档转换:内置Pandoc集成,支持将笔记导出为PDF、HTML或Word格式:
    nb export 123 --format pdf

  6. 轻量级博客发布:通过nb browse启动本地服务器,将笔记实时渲染为网页,快速搭建个人知识门户。

安装

npm install -g nb.sh
sudo "$(which nb)" completions install # 安装自动补全
# 或
curl -L https://raw.github.com/xwmx/nb/master/nb -o /usr/local/bin/nb &&
chmod +x /usr/local/bin/nb &&
nb completions install

安装以下工具可增强功能体验:

  • bat:更好的文件查看
  • pandoc:格式转换
  • ripgrep:快速搜索
  • w3m:终端网页浏览

在Ubuntu/WSL上可一键安装:sudo nb env install

Lite XL

官网,一款开源(GitHub,5.7K Star,277 Fork)、简洁、轻量级、高性能、高度可定制化的文本编辑器。在线体验。

功能特性:

  • 跨平台:提供Windows、Linux、MacOS安装程序,支持Android、浏览器,并且适配高DPI/Retina显示;
  • 轻量级:执行文件小于5MB,占用资源极少,支持从桌面系统到单片机等各种平台;启动速度快、响应灵敏;
  • 功能强大:提供现代编辑器的各种功能,包括自动补全、多行编辑、分割面板、快捷键等;
  • 插件系统:通过插件系统提供更多功能,例如语法高亮、LSP、自动保存、IDE、内置终端、版本控制集成等;
  • 可配置:支持通过Lua文件配置主题、颜色、编辑器等;
  • 扩展开发:开发人员可以通过编写自定义的插件进行功能扩展。

参考

http://www.dtcms.com/a/523639.html

相关文章:

  • 如何开发一个自己的包并发布到npm
  • 商城型网站的概念企业信息平台登录
  • Docker MySQL 单主从及分表函数
  • UE5 蓝图-11:本汽车蓝图的事件图表,汽车拆分事件,染色事件(绿蓝黄青)。
  • CDC 实时数据同步与小时级统计方案(Flink 1.13.5 + MySQL 8.0)
  • Redis之String 类型入门与实战,由基础语法快速掌握再到缓存加速/验证码防刷/计数统计场景应用
  • 【Qt | .pro文件】Qt项目文件详解:pro文件与pri文件
  • SpringAI2-Spring AI-聊天模型:ChatClient,流式编程,ChatModel
  • [MySQL] 事务和视图
  • 建设网站的特色wordpress域名网站搬家
  • 记录画图笔记
  • 【江苏政务服务网-注册_登录安全分析报告】
  • redisson介绍
  • 20251020二分总结
  • Android 基于清单文件mate-data数据共享
  • Android中Window和LayoutParams的常用属性及常用方法介绍
  • MySQL的安装与卸载
  • 单调栈详解【C/C++】
  • 智慧用电平台让安全走在事故前面
  • 自己的商标名称可以做网站名称吗单页手机网站源码
  • 做网站设计的电脑需要什么配置公司网站首页图片素材
  • Kubernetes网络通信与Pod基础详解:从架构图看K8s核心组件
  • freeRTOS学习日记
  • 划分字母区间---超全详细解
  • 【机器学习】k近邻法
  • 如何使用vscode和express开发node.js
  • Metasploit网络嗅探实战:从数据包捕获到协议分析的完整指南
  • CICD实战(11) - 使用Arbess+GitLab实现PHP项目自动化部署
  • 南京需要做网站的公司施工企业汛期应急预案
  • HarmonyOS 超级终端与服务卡片开发:打造无缝多设备交互体验