Title here
Summary here
~/.config/nvim/
├── init.lua the entry point — intent only
└── lua/
└── config/
├── options.lua every vim.opt setting
├── keymaps.lua every mapping
└── lazy.lua plugin manager bootstrap (next page)lua/config/options.lua holds what used to clutter the top of init.lua:
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.tabstop = 4
vim.opt.shiftwidth = 4
vim.opt.expandtab = true
vim.opt.termguicolors = true
vim.opt.cursorline = truelua/config/keymaps.lua collects mappings:
vim.keymap.set("n", "<leader>e", vim.cmd.Ex)
vim.keymap.set("n", "<Esc>", "<cmd>nohlsearch<CR>")vim.g.mapleader = " "
require("config.options")
require("config.keymaps")
vim.cmd("colorscheme hackertheme")The leader comes first — before any mapping or plugin loads — because mappings capture the leader at the moment they are defined.
require("config.options") walks into lua/, then config/, and loads
options.lua. Dots become folders. From here on, growing the config means
adding a small file, not scrolling a big one.