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

相关推荐
q_354888515318 小时前
交通数据分析项目:python地铁数据可视化分析系统 Flask框架 爬虫 数据分析 轨道数据 地铁数据分析 大数据 (源码)✅
人工智能·爬虫·python·机器学习·信息可视化·数据分析·flask
努力努力再努力wz19 小时前
【Linux网络系列】:JSON+HTTP,用C++手搓一个web计算器服务器!
java·linux·运维·服务器·c语言·数据结构·c++
幻云20101 天前
Python深度学习:从筑基到登仙
前端·javascript·vue.js·人工智能·python
物理与数学1 天前
linux 内存分布
linux·linux内核
仰望星空@脚踏实地1 天前
本地Python脚本是否存在命令注入风险
python·datakit·命令注入
东城绝神1 天前
《Linux运维总结:基于ARM64+X86_64架构使用docker-compose一键离线部署MySQL8.0.43 NDB Cluster容器版集群》
linux·运维·mysql·架构·高可用·ndb cluster
creator_Li1 天前
即时通讯项目--(1)环境搭建
linux·运维·ubuntu
LOnghas12111 天前
果园环境中道路与树木结构检测的YOLO11-Faster语义分割方法
python
Mr'liu1 天前
MongoDB 7.0 副本集高可用部署
linux·mongodb
文静小土豆1 天前
Rocky Linux 二进制 安装K8S-1.35.0高可用集群
linux·运维·kubernetes