//2023年11月23日
一、基本过程
0.全程科学上网
1.安装winget
2.通过winget安装nvim
win10默认安装位置:C:\Program Files\
附:mac上使用homebrew安装:brew install neovim
3.配置nvim的环境变量
4.找到配置文件目录,创建nvim文件夹,创建并配置init.lua,添加最简单配置测试。
%USERPROFILE%\AppData\Local
C:\Users\杜宪\AppData\Local
附:mac下,配置文件应该放在~/.config目录下,在该目录下创建nvim文件夹。
说明:目录 .config 是个隐藏文件夹,可以在终端进入,在finder中,按ctrl + shift + .(点号),也可以显示或隐藏所有文件。
~表示当前用户,比如/Users/xxx,一般为终端打开后默认所在目录。
5.分文件管理,在nvim目录下,新建文件夹lua,在该文件夹下新建basic.lua,plugin.lua,keybindings.lua
6.插件管理器,使用lazy.nvim作为插件管理工具进行插件管理
:Lazy命令查看状态,搭配大写字母如I/U/X操作插件。
7.安装主题插件
tokynight.vim 选用tokyonight-moon
8.安装nvim-tree插件
注:终端配置Nerd字体以显示图标。
9.安装代码语法高亮nvim-treesitter
10.安装文件状态管理器lualine.nvim
11.配置键盘映射--:NvimTreeToggle --> alt + m
二、配置文件分享
//说明:B站专栏的代码块没有lua格式,此处显示是js格式。
1.init.lua
-- 引入基本配置
require("basic")
--引入插件
require("plugin")
--引入按键映射
require("keybindings")
-- 演示如何导入其他目录下的.lua文件方式 创建plugins-config/nvim-tree.lua --不用,只是演示如何在init.lua中引入它
-- require("plugins-config.nvim-tree")
2.basic.lua
-- 一、配置文件
-- 1.文件相关
-- 将文件的编码格式统一设置为UTF-8
vim.g.encoding = "UTF-8"
vim.o.fileencoding = "UTF-8"
-- 2.缩进
-- 设置每个缩进级别使用的空格数
vim.opt.shiftwidth = 2
vim.opt.tabstop = 2
-- 自动缩进
vim.opt.ai = true
-- 智能缩进
vim.opt.si = true
-- Neovim 会自动在新行添加空格或制表符以匹配现有的缩进级别
vim.opt.autoindent = true
-- 3.显示
-- 显示行号
vim.wo.number = true
-- 高亮当前所在行
vim.wo.cursorline = true
-- 显示左侧图标指示列
vim.wo.signcolumn = "yes"
-- 显示右侧参考线
vim.wo.colorcolumn = "80"
-- 命令行高为2,提供足够的显示空间
vim.o.cmdheight = 2
-- >> << 时移动长度
vim.o.shiftwidth = 2
vim.bo.shiftwidth = 2
-- 光标在行首尾时<Left><Right>可以跳到下一行,非常实用
vim.o.whichwrap = '<,>,[,]'
-- 补全增强
vim.o.wildmenu = true
-- 不可见字符的显示,这里只把空格显示为一个点
-- vim.o.list = true
-- vim.o.listchars = "space:·"
-- 永远显示 tabline 会在左侧状态列的顶上显示文件名
vim.o.showtabline = 2
-- 3.搜索
-- 高亮所有匹配的搜索模式
vim.opt.hlsearch = true
-- 搜索大小写不敏感,除非包含大写
vim.o.ignorecase = true
vim.o.smartcase = true
-- 4.加载文件
-- 当文件被外部程序修改时,自动加载
vim.o.autoread = true
vim.bo.autoread = true
-- 5.配置文件
-- 禁止创建备份文件
vim.o.backup = false
vim.o.writebackup = false
vim.o.swapfile = false
-- nvim-tree
-- disable netrw at the very start of your init.lua
vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1
-- set termguicolors to enable highlight groups
vim.opt.termguicolors = true
3.plugin.lua
-- 二、插件系统
-- 1.插件管理器
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)
-- 2.安装插件
require("lazy").setup({
-- 所有插件的安装都在这里
-- 颜色主题插件Colorscheme,这个看个人爱好
{
"folke/tokyonight.nvim",
lazy = false,
priority = 1000,
opts = {}
},
-- 文件管理器
{
"nvim-tree/nvim-tree.lua",
version = "*",
lazy = false,
dependencies = {"nvim-tree/nvim-web-devicons"},
config = function()
require("nvim-tree").setup {}
end
},
-- 代码语法高亮,支持多种语言
{"nvim-treesitter/nvim-treesitter"},
-- 插件:文件状态展示插件
{
'nvim-lualine/lualine.nvim',
config = function()
require('lualine').setup()
end
}
})
-- 3.启动插件
vim.cmd.colorscheme("tokyonight-moon")
4.keybindings.lua
-- leader键 空格
vim.g.mapleader = " "
vim.g.maplocalleader = " "
-- 省略其他基础配置
local opt = { noremap = true, silent = true }
local map = vim.api.nvim_set_keymap
-- 键位说明
-- Ctrl简写为C-,Shift简写为S-,Alt简写为A-
-- 1.配置NvimTree文件目录的打开或关闭
-- alt + m 打开或关闭文件浏览器Nvim-Tree 注:在macos下,进入nvim后,直接同时按fn + option(alt) + m,即可完成文件目录树的打开和切换。
map("n", "<A-m>", ":NvimTreeToggle<CR>", opt)