map = vim.keymap.set vim.g.mapleader = " " vim.g.termguicolors = true -- Enable 24-bit RGB colors vim.o.nu = true -- Show line numbers vim.o.relativenumber = true -- Show relative line numbers vim.o.cursorline = true -- Highlight the line where the cursor is vim.o.wrap = false -- Don't wrap long lines to the next line vim.o.list = true -- Show invisible characters (tabs, trailing spaces) vim.o.scrolloff = 15 -- Keep 15 lines above/below cursor when scrolling vim.o.winborder = 'rounded' -- Use rounded borders for floating windows vim.o.ignorecase = true -- Ignore case in search patterns vim.o.smartcase = true -- ...unless search contains an uppercase letter vim.o.hlsearch = true -- Keep search results highlighted vim.o.incsearch = true -- Show search results as you type vim.o.path = "**" -- Search down into subdirectories (classic Vim) vim.o.expandtab = true -- Use spaces instead of tabs vim.o.shiftwidth = 4 -- 4 spaces per indent vim.o.tabstop = 4 -- 4 spaces for a tab vim.o.softtabstop = 4 -- Tab key inserts 4 spaces vim.o.swapfile = false -- Disable creation of .swp files vim.o.backup = false -- Disable backup files vim.o.undofile = true -- Save undo history to a file vim.o.splitright = true -- Open vertical splits to the right vim.o.splitbelow = true -- Open horizontal splits below vim.o.timeoutlen = 300 -- Time (ms) to wait for a mapped sequence to complete vim.o.autocomplete = true vim.o.showmode = false vim.opt.clipboard = "unnamedplus" vim.o.completeopt = 'menuone,noselect' vim.o.undodir = os.getenv("HOME") .. "/.cache/nvim/undodir" map("t", "", "") map({"t", "n"}, "", "") map({"t", "n"}, "", "") map({"t", "n"}, "", "") map({"t", "n"}, "", "") map({"i", "n"}, "", "") map("n", '', 'noh') map("v", "J", ":m '>+1gv=gv") map("v", "K", ":m '<-2gv=gv") map("v", "", "" , ">gv") map("n", "p", ":b#") map("n", "e", ":Ex") map("n", "x", ":bd") require("autocmds") require("plugins")