74 lines
2.4 KiB
Lua
74 lines
2.4 KiB
Lua
|
|
-- 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", "<leader>s", "/{pattern}[/]<CR>", {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
|
|
|
|
-- Set leader
|
|
vim.g.mapleader = " "
|
|
vim.g.maplocalleader = " "
|
|
|
|
-- 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", "<C-d>", "<C-d>zz", { desc = "Half page down (centered)"})
|
|
vim.keymap.set("n", "<C-u>", "<C-u>zz", { desc = "Half page up (centered)"})
|
|
|
|
-- Move lines up and down
|
|
vim.keymap.set("n", "<A-j>", ":m .+1<CR>==", {desc = "Move line down"})
|
|
vim.keymap.set("n", "<A-k>", ":m .-2<CR>==", {desc = "Move line up"})
|
|
vim.keymap.set("v", "<A-j>", ":m '>+1<CR>gv=gv", {desc = "Move lines down"})
|
|
vim.keymap.set("v", "<A-k>", ":m '<-2<CR>gv=gv", {desc = "Move lines up"})
|
|
|
|
-- Indenting
|
|
vim.keymap.set("v", "<", "<gv", {desc = "Indent left and reselect"})
|
|
vim.keymap.set("v", ">", ">gv", {desc = "Indent right and reselect"})
|
|
|
|
-- Terminal
|
|
vim.keymap.set("t", "<C-c>", [[<C-\><C-n>]], {silent = true, noremap = true})
|
|
vim.keymap.set("t", "<C-h>", [[ <C-c><C-w>h ]], {silent = true, noremap=true})
|
|
vim.keymap.set("t", "<C-j>", [[ <C-c><C-w>j ]], {silent = true, noremap=true})
|
|
vim.keymap.set("t", "<C-k>", [[ <C-c><C-w>k ]], {silent = true, noremap=true})
|
|
vim.keymap.set("t", "<C-l>", [[ <C-c><C-w>l ]], {silent = true, noremap=true})
|
|
vim.keymap.set("t", "<C-w>", [[ <C-c><C-w>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")
|