Neovim安装插件

neovim用户默认配置文件位置在~/.config/neovim里

目录结构(click):
nvim
├── init.lua //主配置文件,相当于vimrc
├── lazy-lock.json
├── lua  //次配置文件目录,可以把一些东西分成几个lua模块
│   ├── keymaps.lua    //映射键模块
│   ├── options.lua    //vim设置模块
│   ├── plugins-config //放插件配置文件的目录
│   │   ├── lualine.lua   
│   │   └── nvim-tree.lua
│   └── plugins.lua       //插件模块
└── README

主配置文件

主要是用来调用各个模块

require(模块名)

//例如
require("plugins-config.nvim-tree") //双引号或单引号都可以

安装Lazy

在plugins.lua里编写(不知道它在哪的看上面的目录结构)

local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({
    "git",
    "clone",
    "--filter=blob:none",
    "https://github.com/folke/lazy.nvim.git",
    "--branch=stable", -- latest stable release
    lazypath,
  })
end
vim.opt.rtp:prepend(lazypath)
--上面这一坨就是判断有没有lazy,没有就安装它

require("lazy").setup(
    --这里写要安装的插件们
    --还没想好就空着
)



保存好后再次打开neovim,neovim会检测是否有lazy,没有就从github上下载下来

使用:Lazy命令会打开下面这个界面就说明成功了



安装插件

从github寻好插件后,将其作者名与仓库名复制下来,填到plugins里,就是刚才让你没想好空着的那里。
比如我要安装Nvim-tree这个插件,那就把它写进去

--多个插件要用逗号隔开
require("lazy").setup(
--    谁的/仓库名                     依赖(没有可以不写,这个是tree的图标文件)
    { "nvim-tree/nvim-tree.lua", dependencies = { "nvim-tree/nvim-web-devicons" } },
-- 如果是安装lualine插件的话,只需要把前面的写上就行
    { "nvim-lualine/lualine.nvim" }
)


添加好插件后,执行下面的命令,它会自动帮你安装好插件。这是在shell里执行的哈

nvim --headless "+Lazy sync" +q



插件安装好后,nvim并没有使用它,需要使用<插件名>.setup()函数创建实例。
又不想让init.lua变得臃肿,所以我在lua文件夹里创建了plugins-config文件夹,专门来装插件的实例代码。比如nvim-tree的lua文件是:

--这一坨是进入nvim时判断这个插件有没有被加载
local status, nvim_tree = pcall(require, "nvim-tree")
if not status then
	vim.notify("没有找到 nvim-tree")
	return
end


--这一坨被注释了,是一旦进入nvim就打开NvimTree的
--vim.api.nvim_create_autocmd("VimEnter", {
--  callback = function()
--    require("nvim-tree.api").tree.open()
--	vim.cmd("wincmd l")
--  end
--})

--这一坨是判断当前是否只剩下NvimTree了,如果是则关闭nvim
vim.api.nvim_create_autocmd("BufEnter", {
  nested = true,
  callback = function()
    -- 获取当前打开的窗口数量
    local wins = vim.api.nvim_tabpage_list_wins(0)
    if #wins == 1 and vim.bo.filetype == "NvimTree" then
      vim.cmd("quit")  -- 只有 NvimTree 剩下时,自动退出 Neovim
    end
  end
})

--这一坨才是真正的实例代码,上面那些你不写也可以
nvim_tree.setup({
  sort_by = "case_sensitive",
	-- 是否显示 git 状态
	git = {
		enable = true,
	},
	-- 过滤文件
	filters = {
		dotfiles = true, -- 过滤 dotfile
		custom = { "node_modules" }, -- 其他过滤目录
	},
  view = {
	-- 文件浏览器展示位置,左侧:left, 右侧:right
	side = "left",
	-- 行号是否显示
	number = false,
	relativenumber = false,
	signcolumn = "yes", -- 显示图标
	width = 30,
  },
  renderer = {
    group_empty = true,
  },
})

最後(さいご)の最後 ゴゴゴゴゴ

将这些配置文件全加载到init.lua里

--从上到下是
--设置模块、按键映射模块、插件模块、插件配置文件里的nvim-tree模块、~里的lualine模块
require('options')
require('keymaps')
require("plugins")
require("plugins-config.nvim-tree")
require("plugins-config.lualine")

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇