-- Basic vim.opt.number = true vim.opt.relativenumber = true vim.opt.cursorline = true vim.opt.tabstop = 8 -- Always 8 (see :h tabstop) vim.opt.softtabstop = 4 -- What you expecting vim.opt.shiftwidth = 4 -- What you expecting vim.cmd("set rnu") -- Search vim.opt.ignorecase = true vim.opt.incsearch = true vim.keymap.set("n", "s", "/{pattern}[/]", {desc = "search"}) -- Visual vim.opt.signcolumn = "yes" -- File vim.opt.undofile = true vim.opt.undodir = vim.fn.expand("~/.vim/undodir") vim.opt.autoread = true -- Behaviour vim.opt.backspace = "indent,eol,start" vim.opt.iskeyword:append("-") vim.opt.clipboard:append("unnamedplus") vim.opt.encoding="UTF-8" -- Keys -- vim.keymap.set("i", "", "", {silent=true, desc ="Leave insert mode"}) -- Set leader vim.g.mapleader = " " vim.g.maplocalleader = " " -- Quick switch buffers vim.keymap.set("n", "", ":bnext", {silent=true, desc = "Switch to next buffer"}) vim.keymap.set("n", "", ":bprev", {silent=true, desc = "Switch to previous buffer"}) -- Close unmodified buffer vim.keymap.set("n", "q", ":bd", { desc = "Close an unmodified buffer"}) -- Centered moving vim.keymap.set("n", "n", "nzzzv", { desc = "Next search result (centered)"}) vim.keymap.set("n", "N", "Nzzzv", { desc = "Next search result (centered)"}) vim.keymap.set("n", "", "zz", { desc = "Half page down (centered)"}) vim.keymap.set("n", "", "zz", { desc = "Half page up (centered)"}) -- Move lines up and down vim.keymap.set("n", "", ":m .+1==", {desc = "Move line down"}) vim.keymap.set("n", "", ":m .-2==", {desc = "Move line up"}) vim.keymap.set("v", "", ":m '>+1gv=gv", {desc = "Move lines down"}) vim.keymap.set("v", "", ":m '<-2gv=gv", {desc = "Move lines up"}) -- Insert mode new lines -- Indenting vim.keymap.set("v", "<", "", ">gv", {desc = "Indent right and reselect"}) -- Terminal vim.keymap.set("t", "", [[]], {silent = true, noremap = true}) vim.keymap.set("t", "", [[ h ]], {silent = true, noremap=true}) vim.keymap.set("t", "", [[ j ]], {silent = true, noremap=true}) vim.keymap.set("t", "", [[ k ]], {silent = true, noremap=true}) vim.keymap.set("t", "", [[ l ]], {silent = true, noremap=true}) vim.keymap.set("t", "", [[ w ]], {silent = true, noremap=true}) local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not vim.loop.fs_stat(lazypath) then vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", -- latest stable release lazypath, }) end vim.opt.rtp:prepend(lazypath) require("lazy").setup("plugins")