Neovim 是一个轻量级且功能强大的文本编辑器,可以成为任何开发人员工具箱的宝贵补充。

Neovim 高度可配置和可扩展,可以从简单的文本编辑器转变为功能齐全的开发环境。

然而,配置 Neovim 可能是一项艰巨而艰巨的任务。即使维护 Neovim 配置本身也可能是一项令人沮丧的任务。

这就是 LunarVim 的用武之地。

什么是 LunarVim?

LunarVim是一个旨在为 Neovim 提供简单而强大的配置的项目。

LunarVim 默认包含的一些有用功能是:

  • 语言服务器提供程序 (lsp) 支持。

  • 根据打开的文件扩展名自动安装语言服务器。

  • 保姆支持。

  • 文件树浏览器。

  • 模糊搜索。

  • 多个默认颜色主题。

安装 LunarVim

依赖项

通过阅读官方文档,我们可以看到 LunarVim 有一些依赖项。

在 Ubuntu 上,包管理器可以使用以下命令安装 node 和 npm:

sudo apt install nodejs npm

进入全屏模式 退出全屏模式

要安装 cargo,我们可以通过运行以下命令使用rustup:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

进入全屏模式 退出全屏模式

为避免任何权限问题,我们可以更改 npm 用于存储包的默认目录。

要更改默认目录,我们可以按照 npm 文档中的指南进行操作。

Neovim

LunarVim 需要 Neovim 0.5+ 版本才能运行。

LunarVim 文档中包含一个帮助脚本,用于快速安装正确的版本:

bash <(curl -s https://raw.githubusercontent.com/LunarVim/LunarVim/rolling/utils/installer/install-neovim-from-release)

进入全屏模式 退出全屏模式

安装

一旦完成,我们就可以安装 LunarVim。

我更喜欢从滚动分支安装,因为稳定分支可能会被忽视。

LV_BRANCH=rolling bash <(curl -s https://raw.githubusercontent.com/lunarvim/lunarvim/rolling/utils/installer/install.sh)

进入全屏模式 退出全屏模式

安装完成后,我们终于可以使用以下命令运行 LunarVim:

lvim

进入全屏模式 退出全屏模式

我们会看到默认的欢迎屏幕。

[默认外观](https://res.cloudinary.com/practicaldev/image/fetch/s--Bnb-cYPr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/uploads/articles/a01hnjlza1c48sklgvev.png)

配置 LunarVim

默认配置完全可用,并且能够从一开始就进行认真的开发。

但是,通过一些简单的更改,我们可以使其更符合我们的喜好。

如果我们查看我们的用户配置文件 (~/.config/lvim/),我们可以看到 LunarVim 已经生成了一个默认配置文件。

打开文件后,LunarVim 会自动为 lua 安装语言服务器,为我们提供自动补全和 linting,这使得使用配置文件变得更加容易。

更改领导键和主题

默认情况下,LunarVim 使用空格键作为它的前导键。但是,我更喜欢使用逗号键。

这很容易通过编辑或添加领导密钥条目来完成:

lvim.leader = ","

进入全屏模式 退出全屏模式

该配置包含一个默认已被注释掉的“插件”部分。如果我们取消注释这部分,我们可以访问一个新的颜色主题“tokyonight”。

[取消注释插件](https://res.cloudinary.com/practicaldev/image/fetch/s--3_XXDi4e--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to- uploads.s3.amazonaws.com/uploads/articles/3rxyocpbhsecmwwwckgg.png)

取消注释插件部分并修改主题条目以使用 tokyonight:

lvim.colorscheme = "tokyonight"

进入全屏模式 退出全屏模式

重新启动后,我们可以看到我们的新主题。

[东京之夜主题](https://res.cloudinary.com/practicaldev/image/fetch/s--srz-qVwm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/uploads/articles/tu31jdgnnrw4st7lt3mg.png)

安装插件

正如您可能知道的那样,安装插件可以像将存储库名称添加到 lvim.plugins 条目一样简单。

让我们尝试添加一个新插件,让我们可以访问 dracula 主题:

lvim.plugins = {
    {"folke/tokyonight.nvim"},
    {"dracula/vim"},
    {
      "folke/trouble.nvim",
      cmd = "TroubleToggle",
    },
}

进入全屏模式 退出全屏模式

如果插件没有自动安装,我们可以通过按冒号(':')并运行命令手动安装它们:

PackerInstall

进入全屏模式 退出全屏模式

重新启动后,我们可以在列表中看到我们的新主题。

[darcula 主题添加](https://res.cloudinary.com/practicaldev/image/fetch/s--X2Colkrn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to -uploads.s3.amazonaws.com/uploads/articles/9dh9ln540plaxv7gn5vt.png)

重新安装脚本

LunarVim 有时会崩溃。重新安装似乎总能解决这些问题,所以我喜欢保留一个脚本来处理重新安装和配置文件管理。

#!/bin/bash

# Unstow dotfiles
echo 'Unstowing dotfiles...'
cd ~/.dotfiles && stow --delete lvim

# Uninstall
echo 'Running uninstall script...'
bash <(curl -s https://raw.githubusercontent.com/lunarvim/lunarvim/master/utils/installer/uninstall.sh)

# Install neovim
echo 'Installing neovim...'
bash <(curl -s https://raw.githubusercontent.com/LunarVim/LunarVim/rolling/utils/installer/install-neovim-from-release)

# Install lunarvim
echo 'Installing lunarvim...'
LV_BRANCH=rolling bash <(curl -s https://raw.githubusercontent.com/lunarvim/lunarvim/rolling/utils/installer/install.sh)

# Stow dotfiles
echo 'Stowing dotfiles...'
rm -rf ~/.config/lvim
cd ~/.dotfiles && stow lvim

进入全屏模式 退出全屏模式

结论

LunarVim 并不是唯一维护复杂 Neovim 配置的项目。然而,它正在积极开发,并带有许多正常的默认设置,大多数人无论如何都会将其放入他们的 Neovim 配置中。

对于厌倦了维护脆弱和令人沮丧的配置文件的 Neovim 初学者或经验丰富的老手来说,这可能是一个很好的选择。

LunarVim 也可以在开发之外使用。本文是使用具有完整拼写检查和语法检查支持的 LunarVim 编写的。

[文章截图](https://res.cloudinary.com/practicaldev/image/fetch/s--Q2KOqnIk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to- uploads.s3.amazonaws.com/uploads/articles/laff1gy35dypq5e3p94u.png)

我的 LunarVim 和其他配置可以在my gitlab上找到。

Logo

更多推荐