Cheatsheet: Config neovim trên win 11
Bảng tra cứu nhanh cho toàn khóa. Dùng khi đang config, khi plugin không chạy, hoặc khi cần nhớ lại cú pháp.
1. Cấu trúc thư mục và entry point
Đường dẫn chuẩn trên Windows 11
| Mục đích | Đường dẫn |
|---|---|
Config ($XDG_CONFIG_HOME) |
%LOCALAPPDATA%\nvim\ |
| File entry point | %LOCALAPPDATA%\nvim\init.lua |
| Data (plugin, lazy state) | %LOCALAPPDATA%\nvim-data\ |
| Cache | %LOCALAPPDATA%\nvim-data\cache\ |
| Kiểm tra nhanh | :echo stdpath("config") và :echo stdpath("data") |
Important: Trên Windows,
~/.config/nvimkhông phải đường dẫn mặc định của Neovim. Dùngstdpath("config")để chắc chắn, đừng đoán.
Bộ khung init.lua tối thiểu
-- %LOCALAPPDATA%\nvim\init.lua
vim.g.mapleader = " " -- PHẢI set trước khi load plugin
vim.g.maplocalleader = ","
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.expandtab = true
vim.opt.shiftwidth = 2
vim.opt.tabstop = 2
vim.opt.termguicolors = true -- cần cho theme hiện đại
vim.opt.clipboard = "unnamedplus"
require("config.lazy") -- nạp plugin manager
require("config.keymaps") -- keymaps riêng
Tổ chức file gợi ý
nvim/
init.lua
lua/
config/
lazy.lua
keymaps.lua
options.lua
plugins/
telescope.lua
lsp.lua
treesitter.lua
git.lua
terminal.lua
| Quy ước | Lý do |
|---|---|
init.lua chỉ chứa bootstrap + require |
Dễ đọc, dễ rollback |
Mỗi plugin một file trong lua/plugins/ |
lazy.nvim tự import cả thư mục |
Keymap tách riêng keymaps.lua |
Tránh rải rác, dễ grep |
Không nhét logic nặng vào init.lua |
Startup chậm, khó debug |
2. lazy.nvim và vim.pack
Bootstrap lazy.nvim
This cheatsheet is premium content. Sign in and purchase the course to view the full content. Sign in