NeoVim 配置 配置文件 在~/.config/nvim中创建init.lua,并将配置文件内容输入即可。NeoVim 会自动从 GitHub 上下载插件并安装运行。
注意,基于 lazy 的插件需求 NeoVim 版本大于 0.8.0。
配置文件如下:
-- ============================== -- 基础设置 -- ============================== vim.g.mapleader = " " -- 设置 <leader> 键为空格 vim.o.number = true -- 显示行号 vim.o.relativenumber = true -- 相对行号 vim.o.expandtab = true -- Tab 转换为空格 vim.o.tabstop = 4 -- 一个 Tab 显示为 4 空格 vim.o.shiftwidth = 4 -- 自动缩进 4 空格 vim.o.softtabstop = 4 -- 编辑时 Tab = 4 空格 vim.o.smartindent = true -- 智能缩进 vim.o.wrap = false -- 不自动换行 vim.o.ignorecase = true -- 搜索忽略大小写 vim.o.smartcase = true -- 如果有大写,则大小写敏感 vim.o.termguicolors = true -- 开启真彩色 vim.o.cursorline = true -- 高亮当前行 -- ============================== -- 插件管理(lazy.nvim) -- ============================== 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", lazypath, }) end vim.opt.rtp:prepend(lazypath) require("lazy").setup({ -- 主题 { "ellisonleao/gruvbox.nvim", priority = 1000, config = true }, -- 状态栏 { "nvim-lualine/lualine.nvim", dependencies = { "nvim-tree/nvim-web-devicons" }, config = function() require("lualine").setup { options = { theme = "gruvbox" } } end }, -- 文件树 { "nvim-tree/nvim-tree.lua", dependencies = { "nvim-tree/nvim-web-devicons" }, config = function() require("nvim-tree").setup {} vim.keymap.set("n", "<leader>e", ":NvimTreeToggle<CR>", { desc = "切换文件树" }) end }, -- 模糊搜索 { "nvim-telescope/telescope.nvim", tag = "0.1.6", dependencies = { "nvim-lua/plenary.nvim" }, config = function() local builtin = require("telescope.builtin") vim.keymap.set("n", "<leader>ff", builtin.find_files, { desc = "查找文件" }) vim.keymap.set("n", "<leader>fg", builtin.live_grep, { desc = "搜索内容" }) vim.keymap.set("n", "<leader>fb", builtin.buffers, { desc = "切换缓冲区" }) end }, -- 语法高亮 { "nvim-treesitter/nvim-treesitter", build = ":TSUpdate", config = function() require("nvim-treesitter.configs").setup { ensure_installed = { "lua", "python", "cpp", "bash", "markdown" }, highlight = { enable = true }, } end }, }) -- ============================== -- 主题设置 -- ============================== vim.cmd.colorscheme("gruvbox") -- ============================== -- 快捷键增强 -- ============================== -- 保存 & 退出 vim.keymap.set("n", "<leader>w", ":w<CR>", { desc = "保存文件" }) vim.keymap.set("n", "<leader>q", ":q<CR>", { desc = "退出文件" }) -- 快速窗口移动 vim.keymap.set("n", "<C-h>", "<C-w>h", { desc = "左窗口" }) vim.keymap.set("n", "<C-l>", "<C-w>l", { desc = "右窗口" }) vim.keymap.set("n", "<C-j>", "<C-w>j", { desc = "下窗口" }) vim.keymap.set("n", "<C-k>", "<C-w>k", { desc = "上窗口" }) 详细说明 未完待续。
...