12 个值得折腾的 vim/nvim 编辑器

一、集成 Vi/Vim/NVim 编辑器

使用 Vim相关的有学习成本,但是一旦开始学会使用,vim 的按键带来的全键盘操作,带来的编码体验是非凡的。

二、Vi/Vim

在 Linux/macOS 中内置,以及更早的 Vi。

安装

sh 复制代码
# ubuntu
sudo apt install vim

# window
# 访问:https://github.com/vim/vim-win32-installer/releases 选择合适自己的版本

# mac
brew install Vim# 也可选择 mac-vim

三、Neovim

基于 Vim 的超可扩展文本编辑器

安装

sh 复制代码
# ubuntu
sudo apt install vim

# mac
brew install neovim
brew install --HEAD neovim

# windows winget
winget install Neovim.Neovim

支持 windows/linux/macOS

安装

sh 复制代码
# ubuntu
sudo add-apt-repository ppa:maveonair/helix-editor
sudo apt update
sudo apt install helix

# mac
brew install helix

# windows
winget install Helix.Helix

四、MacVim

Vim - 文本编辑器 - 适用于 macOS。

五、SpaceVim

一个社区驱动的 Vim发行版

安装

sh 复制代码
# mac/linux
curl -sLf https://spacevim.org/install.sh | bash

# docker
docker pull spacevim/spacevim
docker run -it --rm spacevim/spacevim nvim

# windows
# 使用 安装 cmd 命令脚本 https://spacevim.org/install.cmd

六、NvChad

极快的 Neovim 配置提供可靠的默认设置和漂亮的 UI,增强您的 Neovim 体验。

安装

nvchad 安装需要较新的 neovim 和 nerd-font 字体支持:

sh 复制代码
# 获取最新的 neo-vim: https://github.com/neovim/neovim/releases

# 获取 Nerd Font 字体:https://www.nerdfonts.com/

# linux/macOS
git clone https://github.com/NvChad/NvChad ~/.config/nvim --depth 1 && nvim

# windows
git clone https://github.com/NvChad/NvChad $HOME\AppData\Local\nvim --depth 1 && nvim

# docker
docker run -w /root -it --rm alpine:latest sh -uelic '
  apk add git nodejs neovim ripgrep build-base wget --update
  git clone https://github.com/NvChad/NvChad ~/.config/nvim
  nvim
  '

七、LunarVim

🌙 LunarVim 是 Neovim 的 IDE 层。完全免费且社区驱动。LunarVim 夜间主题效果非常出色

安装

sh 复制代码
# 最新的 Neovim 支持
# git/make/pip/python/npm/node/cargo 等多语言工具包支持
# linux/macOS
LV_BRANCH='release-1.2/neovim-0.8' bash <(curl -s https://raw.githubusercontent.com/lunarvim/lunarvim/fc6873809934917b470bff1b072171879899a36b/utils/installer/install.sh)
# windows
pwsh -c "`$LV_BRANCH='release-1.2/neovim-0.8'; iwr https://raw.githubusercontent.com/LunarVim/LunarVim/fc6873809934917b470bff1b072171879899a36b/utils/installer/install.ps1 -UseBasicParsing | iex"

把、astronvim

AstroNvim 是一个美观且功能丰富的 neovim 配置,可扩展且易于使用一组很棒的插件。

安装

  • Nerd Fonts 支持
  • 最新的 NeoVim 支持
  • Tree-sitter CLI 支持
  • 剪贴板、真彩终端等
sh 复制代码
# 如果你有其他的 neovim 配置请先备份
# Linux/MacOS
git clone --depth 1 https://github.com/AstroNvim/AstroNvim ~/.config/nvim
nvim
# windows
git clone --depth 1 https://github.com/AstroNvim/AstroNvim $env:LOCALAPPDATA\nvim
nvim
# docker
docker run -w /root -it --rm alpine:edge sh -uelic '
  apk add bash git lua nodejs npm lazygit bottom python3 go neovim ripgrep alpine-sdk --update
  git clone --depth 1 https://github.com/AstroNvim/AstroNvim ~/.config/nvim
  # Uncomment the line below and replace the link with your user config repo to load a user config
  # git clone https://github.com/username/AstroNvim_user ~/.config/nvim/lua/user
  nvim
'

九、LazyVim

LazyVim 是由💤 lazy.nvim提供支持的 Neovim 设置 ,可以轻松自定义和扩展您的配置。

安装

  • Neovim 最新支持
  • Git
  • Nerd Fonts
  • lazygit
  • nvim-treesitter

十、vim.wasm

十一、helix

后现代文本编辑器, 基于 Rust 支持多光标,同时继承了 Vim 的模式支持语言服务等。
使用 wasm 将 Vim 搬到浏览器中。

十二、lapce

用 Rust 编写的闪电般快速且强大的代码编辑器,内部支持 vim 模式。

安装

sh 复制代码
# 在此处:https://github.com/lapce/lapce/releases 寻找自己的适合的版本下载安装。

十三、以插件形式与 IDE 浏览器等编辑器共存

小结

Vim 以及类 Vim的产品,在历史长河中得以保留下来,并且还在不断的发展,得益于其高效的编辑能力,以及灵活且小巧的体积。本文讲解了 Vim/NeoVim 以及各种集成强大插件的社区产品。Vim 内容远不止此,如果你愿意折腾 Vim的配置以及开发 Vim 相关的插件都知道尝试。

相关推荐
追逐时光者16 小时前
一个致力于为 C# 程序员提供更佳的编码体验和效率的 Visual Studio 扩展插件
后端·c#·visual studio
wearegogog12317 小时前
基于 MATLAB 的卡尔曼滤波器实现,用于消除噪声并估算信号
前端·算法·matlab
Drawing stars17 小时前
JAVA后端 前端 大模型应用 学习路线
java·前端·学习
品克缤17 小时前
Element UI MessageBox 增加第三个按钮(DOM Hack 方案)
前端·javascript·vue.js
小二·17 小时前
Python Web 开发进阶实战:性能压测与调优 —— Locust + Prometheus + Grafana 构建高并发可观测系统
前端·python·prometheus
小沐°17 小时前
vue-设置不同环境的打包和运行
前端·javascript·vue.js
行百里er18 小时前
用 ThreadLocal + Deque 打造一个“线程专属的调用栈” —— Spring Insight 的上下文管理术
java·后端·架构
玄〤18 小时前
黑马点评中 VoucherOrderServiceImpl 实现类中的一人一单实现解析(单机部署)
java·数据库·redis·笔记·后端·mybatis·springboot
qq_4198540518 小时前
CSS动效
前端·javascript·css
烛阴18 小时前
3D字体TextGeometry
前端·webgl·three.js