编辑器汇总: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作为其主要构建系统,提供跨平台支持和依赖管理。构建过程非常直接:
c 复制代码
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启动本地服务器,将笔记实时渲染为网页,快速搭建个人知识门户。

安装

bash 复制代码
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文件配置主题、颜色、编辑器等;
  • 扩展开发:开发人员可以通过编写自定义的插件进行功能扩展。

参考

相关推荐
学传打活5 天前
【边打字.边学昆仑正义文化】_进阶篇5 宇宙星系的运转(续1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
fangzhanpeng16813 天前
快速掌握C#语言基础知识点(1.基础数据类型)
开发语言·c#·1024程序员节
无己心15 天前
面向多平台 AI 搜索引擎的适配层架构设计
前端·人工智能·搜索引擎·ai·1024程序员节
u01030552721 天前
AI驱动的安卓UI自动生成功能实现
人工智能·1024程序员节
u01030552721 天前
长株潭智能体赋能腾讯元器链接共享
1024程序员节
云贝贝贝23 天前
OceanBase认证体系介绍与备考指南
运维·服务器·oceanbase·1024程序员节
u01030552723 天前
Java图像处理实战指南
人工智能·1024程序员节
u01030552723 天前
Java AWT鼠标事件全解析
人工智能·1024程序员节
u0103055271 个月前
Java实用类应用精讲
人工智能·1024程序员节
u0103055271 个月前
Java I/O核心操作实战
人工智能·1024程序员节