51 lines
1.3 KiB
Lua
51 lines
1.3 KiB
Lua
-- Leader key = Space
|
|
vim.g.mapleader = " "
|
|
vim.g.maplocalleader = " "
|
|
|
|
-- Load lazy.nvim
|
|
require("config.lazy")
|
|
|
|
-- Line numbers
|
|
vim.opt.number = true
|
|
vim.opt.relativenumber = true
|
|
|
|
-- Tabs & indentation
|
|
vim.opt.tabstop = 4 -- number of spaces a tab counts for
|
|
vim.opt.shiftwidth = 4 -- spaces for each indent
|
|
vim.opt.expandtab = true -- convert tabs to spaces
|
|
vim.opt.smartindent = true
|
|
|
|
-- Searching
|
|
vim.opt.ignorecase = true -- case-insensitive search...
|
|
vim.opt.smartcase = true -- ...unless you use capitals
|
|
vim.opt.hlsearch = true
|
|
vim.opt.incsearch = true
|
|
|
|
-- UI / UX
|
|
vim.opt.termguicolors = true
|
|
vim.opt.cursorline = true
|
|
vim.opt.signcolumn = "yes" -- avoid text shifting
|
|
vim.opt.wrap = false -- no line wrapping
|
|
|
|
-- Behavior
|
|
vim.opt.scrolloff = 8 -- keep lines above/below cursor
|
|
vim.opt.sidescrolloff = 8
|
|
vim.opt.updatetime = 300 -- faster diagnostics
|
|
vim.opt.timeoutlen = 500 -- faster key sequences
|
|
|
|
-- Clipboard (use system clipboard)
|
|
vim.opt.clipboard = "unnamedplus"
|
|
|
|
-- Save & quit
|
|
vim.keymap.set("n", "<leader>w", ":w<CR>")
|
|
vim.keymap.set("n", "<leader>q", ":q<CR>")
|
|
|
|
-- Clear search highlight
|
|
vim.keymap.set("n", "<leader>h", ":nohlsearch<CR>")
|
|
|
|
-- Better window navigation
|
|
vim.keymap.set("n", "<C-h>", "<C-w>h")
|
|
vim.keymap.set("n", "<C-j>", "<C-w>j")
|
|
vim.keymap.set("n", "<C-k>", "<C-w>k")
|
|
vim.keymap.set("n", "<C-l>", "<C-w>l")
|