惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
The Cloudflare Blog
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
V
Visual Studio Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
酷 壳 – CoolShell
酷 壳 – CoolShell
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
月光博客
月光博客
The GitHub Blog
The GitHub Blog
L
LangChain Blog
D
DataBreaches.Net
T
The Blog of Author Tim Ferriss
F
Fortinet All Blogs
博客园 - Franky
阮一峰的网络日志
阮一峰的网络日志
GbyAI
GbyAI
Apple Machine Learning Research
Apple Machine Learning Research
宝玉的分享
宝玉的分享
Engineering at Meta
Engineering at Meta
V
V2EX
MyScale Blog
MyScale Blog

Hacker News

GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis Bonsai 1-bit WebGPU - a Hugging Face Space by webml-community Moving a large-scale metrics pipeline from StatsD to OpenTelemetry / Prometheus GitHub - Nightmare-Eclipse/RedSun: The Red Sun vulnerability repository GitHub - SethPyle376/hiraeth: Local AWS emulator focused on fast integration testing, with SQS support, SQLite-backed state, and a debug-friendly web UI. GitHub - macOS26/Agent: Any AI, replaces Claude Code, Cursor, OpenClaw. Over 18 LLM providers (Claude, OpenAI, Gemini, Ollama, Zai, HF, Qwen) wired into a native Mac app that writes code, builds Xcode projects, bumps versions, manages git, automates Safari, use AppleScript, JS or Accessibility, extend Agent! w/ MCP Servers, run tasks from your iPhone via Messages. YouTube now lets you turn off Shorts I Made a Terminal Pager Burgers | マクドナルド公式 Commands — HackerNews CLI documentation ChatGPT for Excel PiCore - Raspberry Pi Port of Tiny Core Linux Live Nation illegally monopolized ticketing market, jury finds Google Broke Its Promise to Me. Now ICE Has My Data. Founding Engineer at Adaptional | Y Combinator CRISPR takes important step toward silencing Down syndrome’s extra chromosome GitHub - saffron-health/libretto: The AI toolkit for building reliable browser automations US v. Heppner (S.D.N.Y. 2026) no attorney-client privilege for AI chats [pdf] Retrofitting JIT Compilers into C Interpreters IPv6 – Google The Accursèd Alphabetical Clock Cybersecurity Looks Like Proof of Work Now Fragments: April 14 Cal.com Goes Closed Source: Why AI Security Is Forcing Our Decision | Cal.com - Scheduling Software for Online Bookings Laravel raised money and now injects ads directly into your agent When moving fast, talking is the first thing to break Too much Discussion of the XOR swap trick – Heather Cafe Introduction to Spherical Harmonics for Graphics Programmers The Grand Line
The vi family
2026-05-06 · via Hacker News

Polls of Linux users suggest that vi family editors are the most popular. The vi editor is a terminal-based text editor which dates back to 1977. If you’re wondering why so many people would choose to use a fifty year old text editor with a notoriously steep initial learning curve, it’s because once you learn it, you can be ruthlessly efficient with your editing. There’s also the benefit that it’s basically everywhere, so you don’t have to keep re-learning how to edit — most IDEs have vi key bindings as an option, including VS Code, IntelliJ IDEA, and XCode.

The vi 2.0 release (1979) was a very large piece of software for the time, and in the 1980s it was only available to people with a commercial UNIX® license from AT&T. For this reason, multiple people created free clones of vi to run on 80s personal computers.

There are now many vi clones and derivatives to choose from, and I couldn’t find a good comprehensive list of all of them with links, so here’s mine. Dates are release dates, to the best of my ability to track them down. Some of the projects are no doubt defunct, but it can be hard to tell as they can also go years between releases.

I’m not going to list all the IDEs that have vi key bindings as an option, but other than that suggested additions are welcome.

Original ex/vi (1977-2017?)

https://github.com/n-t-roff/heirloom-ex-vi/

The original 2.11BSD vi, upgraded to support UTF-8, with fixes for POSIX compliance.

No major “quality of life” improvements, and it will fall over editing very large files.

STevie (1987–1989)

https://nosuch.com/tjt/STevie/

A clone for the Atari ST and Amiga. If you don’t have an ST or Amiga you don’t want this. If you do have an ST or Amiga, you probably still don’t want this, as there are better options available to you. Vim (see below) descends from STevie.

Elvis (1990–2024?)

https://github.com/mbert/elvis

One of the earliest vi clones, built to run on MS-DOS, Minix, and other systems of the early 1990s.

Elvis added improvements including multiple edit buffers, multiple windows, and syntax coloring. Unlike STevie, it used a file buffer for editing, so it could deal with files larger than available memory. It was used for the 80386 port of BSD Unix.

xvi (1992–2017?)

https://martinwguy.github.io/xvi/

A STevie derivative which adds multiple windows and buffers. Probably the smallest vi clone.

Vile (1991–)

https://invisible-island.net/vile/

Originally derived from Microemacs, given vi style editing, but with more modes. Adds infinite undo, UTF-8 support, syntax highlighting, and more.

Vim (1991–)

https://www.vim.org

Probably the most used vi clone. Derived from STevie. Adds windows, multiple buffers, assorted scripting options, and UTF-8 support. Handles very large files (GB in size).

Now incorporating LLM-generated code.

nvi (1994–)

https://repo.or.cz/nvi.git

Based on Elvis, a reimplementation of vi intended to be identical in core behavior to the original. Used for the 4BSD Unix release.

Adds support for additional scripting languages (Perl and Tcl). Introduced use of a database for storing file data. It’ll open files of about a GB in size but will complain about DB page sizes. Also unfortunately still doesn’t support UTF-8 text.

OpenBSD vi / OpenVi (1994—)

https://github.com/johnsonjh/OpenVi

A derivative of nvi. Extensively cleaned up, but still doesn’t support UTF-8 text. Also missing macros, scripting, syntax highlighting.

BusyBox vi (2001–)

https://busybox.net

BusyBox includes a tiny incomplete (but usable) implementation of vi. You’ll encounter it in Alpine Linux and embedded systems.

IllumOS vi (2005–)

https://github.com/illumos/illumos-gate/tree/master/usr/src/cmd/vi

AT&T UNIX® vi from SVR4, open-sourced as part of OpenSolaris in 2005.

nvi2 (2011–)

https://github.com/lichray/nvi2

Adds UTF-8 support to nvi, as well as various CJK encodings.

neovim (2014–)

https://neovim.io

Cleans up Vim by removing support for ancient platforms. Adds LSP support, a built-in terminal emulator, Lua scripting to replace VimScript, and many other features.

Now incorporating LLM-generated code.

EVi (2026–)

https://codeberg.org/evi-editor/evi

A fork of Vim from before it began gaining LLM-generated code.

Vim Classic (2026–)

https://vim-classic.org

A fork of Vim from version 8.3 (pre LLM code), aiming for long term support by humans.

ToyBox vi (2027?)

https://codeberg.org/landley/toybox

ToyBox, the non-GPL BusyBox clone, may be getting its own tiny vi implementation.


Also, some things which aren’t really vi, but…

Viper (1995–)

https://www.gnu.org/software/emacs/manual/html_mono/viper.html

A set of vi key bindings for Emacs.

Kakoune (2012–)

http://kakoune.org

A modal editor inspired by vi, but with slightly different key bindings. Designed to be minimal, calls external programs for some features.

Evil (2013–)

https://github.com/emacs-evil/evil

Another implementation of vi modal editing on top of Emacs.

vis (2015–)

https://github.com/martanne/vis

Like vi, but with structural regular expressions and other features taken from sam, the Plan 9 editor. (Sam is a graphical editor, so isn’t in this list.)

Helix (2021–)

https://github.com/helix-editor/helix

Another new modal editor, inspired by Kakoune and Vim. Again, key bindings are different.