上古神器加持【第一期】:从0到1打造全语言支持的万能编辑器

  • 本期内容
    • 安装nvim
    • 安装并配置包管理器Packer.nvim
    • 学会插件的安装、更新、删除基本操作
    • 附带一个插件的安装实践

0.导语

  • 系统环境: Debian Linux

  • 主力工具:Neovim

vim

现在编辑器的唯一弊端就是臃肿庞大,而且大部分是主要支持一门语言,相对比较单一。

Vim则是一款超级强大高效且轻量的编辑器,但迫于学习曲线陡峭劝退了一波一波人,但这属于学会就会上瘾的好东西,希望屏幕前的你能坚持下来。

这个系列主要内容就是基于vimneovim作为基础的开发环境的搭建教学,因此这个系列文章可能会分好几期连载。欢迎阅读。


1. 安装

(Neo)Vim 的优点很多,但对我来说,最主要的是它是一个以键盘为中心的工具,它是轻量级的,它是高度可配置的,并且它可以在任何地方使用。

1.1 安装Neovim

这是必须且最主要的东西,务必完成。

在这之前,请务必先安装git,因为后续很多东西都是通过git仓库进行拉取下载的。

sudo apt-get install git
  • 下载安装命令
sudo apt-get install neovim

可以通过直接输入nvim检测是否安装重成功:

image-20240429110956245


1.2 插件管理

vim一个强大的地方在于,它有支持插件化定制,很多功能也是通过插件来实现的,因此需要一个插件管理器。

neovim插件地址

主注意,为了方便后续管理,我们尽可能的遵循一定的目录结构:

~/.config/
└── nvim
    ├── init.lua
    └── lua
        └── plugins.lua

每次 Neovim 启动时,它都会检查 init.lua 文件并执行其中的命令。要安装 Packer,我们需要编辑 init.lua 配置文件并添加在 Neovim 中安装和使用 Packer 所需的命令,因此如果你之前尚未创建 nvimlua 目录,则需要先创建它们。使用以下命令创建这些目录:

mkdir -p ~/.config/nvim/lua

如果要查看这个.config目录。请使用ls -a,他是一个隐藏目录。

  • Packer.nvim的安装

这是 Neovim 的插件管理器,它本身也是一个插件。因此,要安装其他插件,需要先安装Packer。

安装步骤:

  • 切换目录
cd ~/.config/nvim/lua
  • 打开插件配置
nvim plugins.lua
  • 粘贴下面内容
local fn = vim.fn

-- Automatically install packer
local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim"
if fn.empty(fn.glob(install_path)) > 0 then
	PACKER_BOOTSTRAP = fn.system({
		"git",
		"clone",
		"--depth",
		"1",
		"https://github.com/wbthomason/packer.nvim",
		install_path,
	})
	print("Installing packer close and reopen Neovim...")
	vim.cmd([[packadd packer.nvim]])
end

-- Autocommand that reloads neovim whenever you save the plugins.lua file
vim.cmd([[
  augroup packer_user_config
    autocmd!
    autocmd BufWritePost plugins.lua source <afile> | PackerSync
  augroup end
]])

-- Use a protected call so we don't error out on first use
local status_ok, packer = pcall(require, "packer")
if not status_ok then
	return
end

-- Have packer use a popup window
packer.init({
	display = {
		open_fn = function()
			return require("packer.util").float({ border = "rounded" })
		end,
	},
})

-- Install your plugins here
return packer.startup(function(use)
	use ("wbthomason/packer.nvim") -- Have packer manage itself	



	if PACKER_BOOTSTRAP then
		require("packer").sync()
	end
end)

粘贴代码后,使用 :wq 命令保存并退出 Neovim 编辑器。

到这一步之后,Neovim 仍然不知道你创建的配置文件,因为它只检查 init.lua 文件。因此,每当您将来创建新的配置文件时,你都需要在 init.lua 文件中定义它们,以便 Neovim 识别它们。

要打开 init.lua 文件,请使用以下命令。如果该文件不存在,Neovim 将创建它:

nvim ~/.config/nvim/init.lua

打开之后添加,要放在最顶部

require("plugins")

使用下面的命令打开插件目录:

nvim ~/.config/nvim/lua/plugins.lua

当你按下:w时,会看到包括插件管理器在内的插件进入安装状态:

image-20240429131104337


1.3 包管理插件的使用

现在已经安装了 Packer,您可以继续使用 Packer 安装各种插件。 Packer 允许你轻松下载、安装、更新和删除插件。通过安装这些众多插件,您可以根据自己的喜好自定义 Neovim 环境。

1.3.1 安装插件

使用 Packer 安装插件非常简单。首先,确定要安装的插件并找到其 GitHub 存储库。然后,在 plugins.lua 文件中定义插件,如下所示:

use('username/repo') # 将 'username/repo' 替换为您要安装的插件的 GitHub 用户名和存储库名称。

比如我们先来安装一个nvim-web-devicons作为演示:

这个插件用于在 NeoVim 状态栏、文件树等位置显示文件类型图标。这个插件可以让您更直观地识别不同类型的文件,使编辑器界面更加美观和易于理解。

具体来说,nvim-web-devicons 提供了一套文件类型图标,可以根据文件的扩展名或类型在编辑器中显示相应的图标。这些图标可以帮助您快速识别文件类型,例如区分文本文件、图像文件、代码文件等。这对于快速导航和提高工作效率非常有帮助。

  1. 找到插件仓库

image-20240429132851922

  1. 将上面的路径格式复制之后打开之前的plugins.lua文件新增插件

image-20240429133402831

添加插件名称后,使用 :w 命令保存文件,Packer将自动开始下载文件。

Packer 提供了用于安装、更新和同步插件的不同命令。要安装插件,请打开 Neovim 并输入以下命令:

:PackerInstall

期将插件更新到最新版本对于错误修复和新功能非常重要。您可以使用 Packer 轻松更新插件。要更新您的软件包,请打开 Neovim 并输入以下命令:

:PackerUpdate

image-20240429133825063


1.3.2 删除插件

如果您不再需要特定插件,可以使用 Packer 将其从配置中删除。要删除插件,请打开位于以下位置的 plugins.lua 文件:

nvim ~/.config/nvim/lua/plugins.lua

然后,从配置文件中删除相应的 GitHub 用户和存储库,并保存更改。之后,打开 Neovim 并输入以下命令:

:PackerSync

执行之后,Packer 将从 Neovim 中删除特定插件。

以上就是安装包管理器Packer Nvim的全部内容。


下期预告:

  • Vim基本语法介绍(极其重要)
  • 其他待确定内容…
  • 36
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代号0408

轻轻一点,暖心房

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值