Neovim,会是你的下一款“真香”开发神器吗?

Neovim是Vim分支,功能强大、高度可配置,提供更好插件支持和现代UI。安装后需配置init.vim,可借Kickstarter简化。内置教程是学习关键。

译自:Is Neovim Your Next Favorite Development Tool?

作者:Jack Wallen

如果你使用过 Linux,你可能听说过 Vim

别急着跑。

是的,Vim 绝不是世界上最简单的文本编辑器,但它是功能最强大的编辑器之一。Vim 不仅仅是一个文本编辑器;它是一个高度可配置且功能强大的文本编辑器,因其作为命令行中高效的编码工具而受到程序员的欢迎。

Vim 允许用户通过键盘快捷键发出复杂的命令,这样你的手指就永远不必离开键盘。Vim 还可以通过插件扩展以添加 IDE 功能。

Neovim 又是什么呢?

Neovim 是 Vim 的一个可扩展分支,旨在简化应用程序管理、提高可用性、提供更好的插件支持,并包括内置的语言服务器协议 (LSP) 以及对现代 GUI 和 UI 的支持。Neovim 保持了与 Vim 的核心兼容性,但提供了更加精简的体验。

如果从终端应用和命令行进行开发的想法很合你的胃口,那么 Neovim 可能是适合你的工具。

Neovim 包含以下功能:

  • 比 Vim 更好的默认设置。
  • 一个用于插件的时尚 API。
  • 专注于开箱即用的可用性。
  • 一个功能强大的 Lua API,以及将配置分解为模块的能力,使复杂的设置更易于管理。
  • 处理代码检查、语法检查和文件索引等任务。
  • 一个内置的、完全可脚本化的终端模拟器。
  • 支持大多数现有 Vim 插件。

让我们来安装和配置 Neovim。

安装 Neovim

Neovim 可以安装在 Linux、macOS(使用 brew)和 Windows 上。操作方法如下:

bash 复制代码
Windows (via Winget): winget install Neovim.Neovim
macOS (via Brew): brew install neovim
Ubuntu-based distributions: sudo apt-get install neovim -y
Fedora-based distributions: ssudo dnf install -y neovim python3-neovimudo -y
Arch-based distributions: sudo pacman -S neovim

注意:要使用插件系统,你必须安装每夜版(稍后会详细介绍)。

配置 Neovim

一旦安装了 Neovim,你当然可以直接使用它。当然,考虑到这个工具的灵活性和可扩展性,你会希望创建自己的配置文件。

要创建配置文件,你必须首先创建必要的目录。我将在 Linux 上演示这一点。如果你使用的是 macOS 或 Windows,你需要相应地更改配置文件的位置。

使用以下命令创建新目录:

bash 复制代码
mkdir ~/.config/nvim

使用以下命令创建配置文件:

bash 复制代码
nano ~/.config/nvim/init.vim

在该文件中,你将添加所有配置选项。一个示例配置可能如下所示:

bash 复制代码
set nocompatible                 " disables compatibility with old-time vi
set showmatch                    " shows matching
set ignorecase                     " case insensitive
set mouse=v                        " middle-click paste with
set hlsearch                         " highlight search
set incsearch                        " incremental search
set tabstop=4                        " number of columns occupied by a tab
set softtabstop=4                  " see multiple spaces as tabstops so <BS> does the right thing
set expandtab                       " converts tabs to white space
set shiftwidth=4                     " width for autoindents
set autoindent                       " indents a new line the same amount as the line just typed
set number                           " adds line numbers
set wildmode=longest,list     " gets bash-like tab completions
set cc=80                             " sets an 80-column border for good coding style
filetype plugin indent on       "allows auto-indenting depending on file type
syntax on                             " enables syntax highlighting
set mouse=a                       " enables mouse click
set clipboard=unnamedplus " uses system clipboard
filetype plugin on
set cursorline                      " highlights current cursorline
set ttyfast                            " Speeds up scrolling in Vim
" set spell                            " enables spell check (may need to download language package)
" set noswapfile                  " disables creating swap file
" set backupdir=~/.cache/vim " Directory to store backup files.

你可以在 Neovim 文档中找到完整的选项列表。

创建配置文件后,按 Ctrl+X 保存。

插件

Neovim 可以使用 vim-plug 作为插件管理器。唯一的问题是,除非你使用每夜构建版(可以在这里找到),否则许多插件无法正常运行。

要在 Ubuntu 上安装每夜版,请遵循以下步骤:

bash 复制代码
sudo add-apt-repository ppa:neovim-ppa/unstable
sudo apt-get update
sudo apt-get install neovim -y

完成这些后,安装 vim-plug,使用以下命令:

bash 复制代码
curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

现在这些步骤都已完成,让我们使用一个小技巧让事情变得更容易。有一个名为 Kickstarter 的脚本,可以非常轻松地设置 Neovim。要使用 Kickstarter,你需要将 init.vim 文件从 nvim 目录中移出,然后执行以下命令:

bash 复制代码
git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim

之后,启动 Neovim 以加载 Kickstarter。运行应用程序的命令是:

bash 复制代码
nvim

一旦加载完成,你就会进入 Neovim 窗口,在那里你可以开始使用编辑器。

要加载插件,可以使用 :packadd 命令,像这样:

bash 复制代码
:packadd nvim.difftool

之后,你就可以像这样调用插件:

bash 复制代码
:DiffTool {left} {right}

DiffTool 插件可以并排比较两个目录或文件,并支持目录差异、重命名检测和高亮显示更改。

使用内置教程

此时,我强烈建议你使用交互式教程,它将极大地帮助你入门 Neovim。要开始教程,请使用以下命令退出 Neovim:

bash 复制代码
:q

回到你的终端窗口,执行命令:

bash 复制代码
nvim +Tutor

这个交互式教程将真正帮助你理解如何快速上手 Neovim,鉴于有很多东西需要学习,这对于任何刚开始的人来说绝对是必不可少的。

说真的,这个教程是必不可少的。

Neovim 是一个非常强大的文本编辑器,通过一些前期配置,它可以取代你当前的编程编辑器,甚至更多。是的,它有陡峭的学习曲线,但内置教程将大大帮助你。

相关推荐
炸炸鱼.17 分钟前
Python 操作 MySQL 数据库
android·数据库·python·adb
Linux技术芯27 分钟前
Refault Distance算法详解
linux
0vvv036 分钟前
linux-软件安装
linux
IMPYLH36 分钟前
Linux 的 nproc 命令
linux·运维·服务器·bash
_深海凉_1 小时前
LeetCode热题100-颜色分类
python·算法·leetcode
AC赳赳老秦1 小时前
OpenClaw email技能:批量发送邮件、自动回复,高效处理工作邮件
运维·人工智能·python·django·自动化·deepseek·openclaw
zhaoshuzhaoshu1 小时前
Python 语法之数据结构详细解析
python
九英里路2 小时前
OS学习之路——动静态库制作与原理
linux·学习·操作系统·unix·进程·编译·动静态库
AI问答工程师2 小时前
Meta Muse Spark 的"思维压缩"到底是什么?我用 Python 复现了核心思路(附代码)
人工智能·python
Tomhex2 小时前
Go字符串拼接最佳实践
golang·go