Josean Martinezs Neovim Setup in 2024
这个 Neovim 配置是当前使用最多的版本,基于 Josean Martinez 的 YouTube 视频,一步一步,照虎画猫,依葫芦画瓢。
全部的配置使用 Lua 语言,所以新手需要学习一点点 Lua 的编程知识。
在 Neovim 中使用 Lua
配置结构
因为是最常用的配置版本,所以配置文件放置在 ~/AppData/Local/nvim/
内,相当于是配置文件的根目录。本配置使用了 lazy.nvim 作为插件管理器,采用了结构化的配置方法。以下是配置结构:
sh
C:\Users\Lenovo\AppData\Local\nvim
├── init.lua
├── lazy-lock.json
├── lazyvim.json
├── lua
| └── alowree
| ├── core
| | ├── init.lua
| | ├── keymaps.lua
| | └── options.lua
| ├── lazy.lua
| └── plugins
| ├── alpha.lua
| ├── auto-session.lua
| ├── blink-cmp.lua
| ├── bufferline.lua
| ├── bullets.lua
| ├── colorscheme.lua
| ├── comment.lua
| ├── conform.lua
| ├── dressing.lua
| ├── fzflua.lua
| ├── gitsigns.lua
| ├── indent-blankline.lua
| ├── init.lua
| ├── lazygit.lua
| ├── lsp.lua
| ├── lualine.lua
| ├── nvim-tree.lua
| ├── pangu.lua
| ├── sleuth-vim.lua
| ├── surround.lua
| ├── treesitter.lua
| └── which-key.lua
└── spell
├── en.utf-8.add
└── en.utf-8.add.spl
init.lua
是主配置文件,导入了两组文件:lua1.1.require("alowree.core") require("alowree.lazy")
alowree/core/init.lua
导入了keymaps.lua
和options.lua
两个文件 1.2.alowree/lazy.lua
做了两件事情: 1.2.1. 加载lazy
自己 1.2.2. 加载alowree.plugins
下的所有文件alowree/plugins/init.lua
, 引入这两个插件作何用途?luareturn { "nvim-lua/plenary.nvim", -- lua functions that many plugins use "christoomey/vim-tmux-navigator", -- tmux & split window navigation -- works for PowerShell on Windows too }
lazy.nvim
lazy.nvim is a modern plugin manager for Neovim.
按照 lazy.nvim —— Installation 官方文档调整了一下 alowree/lazy.lua
内的配置,将 leader 键的配置位置由原先的 alowree/core/keymaps.lua 转至 alowree/lazy.lua 当中,对调一下在主配置文件中的导入顺序:必须先对 leader 键进行定义,然后再在 alowree/core/options.lua 和 alowree/core/keymaps 使用已定义的 leader 键进行配置。
lua
require("alowree.lazy")
require("alowree.core")