57 lines
1.2 KiB
Lua
57 lines
1.2 KiB
Lua
--options
|
|
vim.opt.number = true
|
|
vim.opt.relativenumber = true
|
|
vim.opt.tabstop = 4
|
|
vim.opt.softtabstop = 4
|
|
vim.opt.shiftwidth = 4
|
|
vim.opt.expandtab = true
|
|
vim.opt.smartindent = true
|
|
vim.opt.wrap = true
|
|
vim.opt.termguicolors = true
|
|
vim.opt.signcolumn = "yes"
|
|
vim.opt.updatetime = 200
|
|
vim.opt.clipboard = "unnamedplus"
|
|
|
|
-- search
|
|
vim.opt.ignorecase = true
|
|
vim.opt.hlsearch = true
|
|
vim.opt.incsearch = true
|
|
|
|
-- window splits
|
|
vim.opt.splitbelow = true
|
|
vim.opt.splitright = true
|
|
|
|
-- keep the context around the cursor when scrolling
|
|
vim.opt.scrolloff = 10
|
|
|
|
-- leader
|
|
vim.g.mapleader = " "
|
|
vim.g.maplocalleader = " "
|
|
|
|
-- keymappings
|
|
local map = vim.keymap.set
|
|
|
|
map("n", "<Esc>", "<cmd>nohlsearch<CR>")
|
|
|
|
-- window navigation
|
|
map("n", "<C-h>", "<C-w>h")
|
|
map("n", "<C-l>", "<C-w>l")
|
|
map("n", "<C-j>", "<C-w>j")
|
|
map("n", "<C-k>", "<C-w>k")
|
|
|
|
-- move selected lines up/down in visual mode
|
|
map("v", "J", ":m '>+1<CR>gv=gv")
|
|
map("v", "K", ":m '<-2<CR>gv=gv")
|
|
|
|
-- keep cursor centred when jumping
|
|
map("n", "<C-d>", "<C-d>zz")
|
|
map("n", "<C-u>", "<C-u>zz")
|
|
map("n", "n", "nzzzv")
|
|
map("n", "N", "Nzzzv")
|
|
|
|
-- quickfix navigation (for build errors)
|
|
map("n", "<leader>qo", "<cmd>copen<CR>")
|
|
map("n", "<leader>qc", "<cmd>cclose<CR>")
|
|
map("n", "]q", "<cmd>cnext<CR>")
|
|
map("n", "[q", "<cmd>cprev<CR>")
|