携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第12天,点击查看活动详情
前言
- 之前我们已经介绍了vim下插件管理器
Vundle,vim8之后的vim-plug插件管理器,虽然在neovim中都市可以vim-plug安装的,但是主流还是建议neovim中通过Packer插件管理器,今天就来尝试一下Packer管理器。
安装
- 我们可以使用git直接安装
git clone --depth 1 https://github.com/wbthomason/packer.nvim\
~/.local/share/nvim/site/pack/packer/start/packer.nvim
- 除了手动安装,我们还可以在
init.lua中自动安装。neovim的默认配置一直都是在~/.config/nvim下的,所以我们这里也是安装在这个路径下。 - 首先我们在
~/.config/nvim下新建一个init.lua,这里对应了vim-plug中的init.vim。 - 在
init.lua中我们主要就是做插件配置,但是为了配置简化,这里将从插件、配置、快捷键、通过快捷键等方向进行拆分,所以在init.lua中我们导入模块即可。
lua require('user')
-
在
init.lua同级下我们还需要新建lua文件夹,lua文件夹下会存在user文件件,这个就是上面require需要的模块位置。 -
上面的
plugin目录是安装编译产生的数据,这里不需要管他。在~/.config/nvim/lua/user/plugins.lua这里我们配置需要安装的插件,同时也会对Packer插件进行配置管理,还有上面git clone Packer的操作也可以放在这里自动完成。
local fn = vim.fn
-- 替代手动安装,采取自动安装
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
-- 安装好插件需要重启neovim , 下面这段配置避免每次重启neovim
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
-- 设置窗口弹出方式安装插件;浮动显示
packer.init {
display = {
open_fn = function()
return require("packer.util").float { border = "rounded" }
end,
},
}
-- 插件安装处
return packer.startup(function(use)
-- 插件列表开始----------------------
use "wbthomason/packer.nvim" -- 安装Packer插件
-- 插件列表结束------------------
-- clone好代码后自动安装 , 必须得在放在最后才行
if PACKER_BOOTSTRAP then
require("packer").sync()
end
end)
- 到这里
Packer插件管理器就可以正常安装了。
使用命令
nvim +PackerSync: 安装插件nvim +PackerClean: 更新插件 , 也可以看做是卸载插件。