Vim vs Neovim:该用哪个?

Neovim 是 Vim 的现代化分支,更好的默认配置和 Lua 支持

对比

维度VimNeovim
默认配置 需要大量 .vimrc 配置 开箱即用的合理默认值
插件生态 VimScript 插件丰富 Lua 插件性能更好,且兼容 Vim 插件
配置语言 VimScript Lua(更快、更易读)+ 兼容 VimScript
内置功能 基础功能完整 内置 LSP、TreeSitter、终端模拟器
异步支持 Vim 8+ 支持,但 API 复杂 原生异步,API 更现代
社区活跃度 维护为主,新功能少 活跃开发,频繁更新
兼容性 几乎所有 Linux 预装 需要额外安装

使用场景

什么时候用 Vim

  • 服务器环境(几乎所有 Linux 都预装 vi/vim)
  • 已有成熟的 .vimrc 配置不想迁移
  • 只需要基础文本编辑
  • 不想折腾配置

什么时候用 Neovim

  • 想要现代化的编辑体验
  • 需要 LSP 代码补全和诊断
  • 愿意用 Lua 写配置(更清晰)
  • 想用 TreeSitter 实现更好的语法高亮
  • 作为主力 IDE 使用

示例

mergeExample

# Vim 配置示例 (.vimrc)
set number
set relativenumber
syntax on
set hlsearch incsearch
set tabstop=4 shiftwidth=4 expandtab
" 安装插件需要 vim-plug 等管理器
call plug#begin()
Plug 'tpope/vim-fugitive'
call plug#end()

rebaseExample

# Neovim 配置示例 (init.lua)
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.tabstop = 4
vim.opt.shiftwidth = 4
vim.opt.expandtab = true
-- 内置 LSP 配置
vim.lsp.start({ name = 'ts', cmd = {'typescript-language-server', '--stdio'} })

常见错误

以为 Neovim 和 Vim 完全不兼容(实际上大部分 Vim 配置可以直接用)
在服务器上安装 Neovim 只为了简单编辑(用自带 vim 就够了)
Neovim 配置过度复杂化(从简单配置开始,按需添加)

建议

本地开发推荐 Neovim,内置 LSP 和 TreeSitter 让它成为轻量级 IDE。服务器上用系统自带的 Vim 即可。如果你是 Vim 新手,直接从 Neovim 开始。