-- Opts ----------------------------------------------------------------------- local opt = vim.opt opt.colorcolumn = { "80", "100", "120" } opt.signcolumn = "yes:1" opt.termguicolors = true opt.ignorecase = true opt.swapfile = false opt.autoindent = true opt.expandtab = true opt.tabstop = 4 opt.softtabstop = 4 opt.shiftwidth = 4 opt.shiftround = true opt.number = true opt.relativenumber = true opt.numberwidth = 2 opt.wrap = false opt.cursorline = true opt.scrolloff = 8 opt.inccommand = "nosplit" opt.undodir = os.getenv("HOME") .. "/.cache/nvim/undodir" opt.undofile = true opt.winborder = "none" opt.hlsearch = false vim.cmd.filetype("plugin indent on") -- Keymaps -------------------------------------------------------------------- vim.g.mapleader = " " vim.keymap.set("n", "", "") vim.keymap.set("n", "j", "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true }) vim.keymap.set("n", "k", "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true }) vim.keymap.set("n", "", "zz") vim.keymap.set("n", "", "zz") vim.keymap.set("t", "", "") -- Make Esc act as Esc in terminal vim.keymap.set("n", "te", "tabnew", { silent = true }) vim.keymap.set("n", "tn", "tabn", { silent = true }) vim.keymap.set("n", "tp", "tabp", { silent = true }) vim.keymap.set("v", "p", '"_dP') vim.keymap.set("x", "y", [["+y]], { silent = true }) vim.keymap.set("n", "cd", function() vim.fn.chdir(vim.fn.expand("%:p:h")) end)