使用 LunarVim 进行简单和高级的 Neovim 设置
Neovim 是一个轻量级且功能强大的文本编辑器,可以成为任何开发人员工具箱的宝贵补充。 Neovim 高度可配置和可扩展,可以从简单的文本编辑器转变为功能齐全的开发环境。 然而,配置 Neovim 可能是一项艰巨而艰巨的任务。即使维护 Neovim 配置本身也可能是一项令人沮丧的任务。 这就是 LunarVim 的用武之地。 什么是 LunarVim? LunarVim是一个旨在为 Neovim
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
进入全屏模式 退出全屏模式
重新启动后,我们可以在列表中看到我们的新主题。
[](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上找到。
更多推荐
所有评论(0)