From 1e094abc6c4c6866b0abad198b1785d2da3d327c Mon Sep 17 00:00:00 2001 From: kkard2 Date: Sat, 2 Dec 2023 12:45:06 +0100 Subject: i couldn't help it --- nvim/init.lua | 147 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 146 insertions(+), 1 deletion(-) (limited to 'nvim/init.lua') diff --git a/nvim/init.lua b/nvim/init.lua index 1545e69..b0d571f 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -1 +1,146 @@ -require('kkard2') +-- set +vim.opt.nu = 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 -- we'll see if i like it + +vim.opt.swapfile = false +vim.opt.backup = false +vim.opt.undodir = os.getenv("HOME") .. "/.vim./undodir" +vim.opt.undofile = true + +vim.opt.hlsearch = true +vim.opt.incsearch = true + +vim.opt.scrolloff = 8 + +vim.opt.colorcolumn = "80,100,120" + +vim.g.netrw_bufsettings = "noma nomod nu nobl nowrap ro" +vim.g.netrw_banner = 0 + +vim.cmd("colorscheme evening") + +vim.opt.signcolumn = "yes" +vim.opt.list = true + + +-- remap +vim.g.mapleader = " " + +vim.keymap.set({ "n", "v" }, ";", ":") +vim.keymap.set({ "n", "v" }, ":", ";") + +vim.keymap.set("n", "ff", vim.cmd.Ex) + +vim.keymap.set("v", "J", ":m '>+1gv=gv") +vim.keymap.set("v", "K", ":m '<-2gv=gv") + +vim.keymap.set({ "n", "v" }, "y", [["+y]]) +vim.keymap.set("n", "Y", [["+Y]]) + +vim.keymap.set({ "n", "v" }, "p", [["+p]]) +vim.keymap.set("n", "P", [["+P]]) + +vim.keymap.set({ "n", "v" }, "d", [["+d]]) +vim.keymap.set("n", "D", [["+D]]) + +vim.keymap.set("t", "", "") + +vim.keymap.set("i", "", "o") +vim.keymap.set("n", "", "o") + +vim.keymap.set("n", "", function() + local win_number = vim.api.nvim_get_current_win() + if vim.api.nvim_win_get_config(win_number).relative ~= "" then + vim.cmd("q") + end +end) + +-- well i tried to not overwrite default register but it didn't work +vim.keymap.set("i", "", "0\"_d$?.noh0\"myw0\"_d$\"mpa") +vim.keymap.set("n", "", "\"_xif ") + + +-- lazy.nvim +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not vim.uv.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({ + { + "nvim-treesitter/nvim-treesitter", + config = function() + require("nvim-treesitter.configs").setup({ + auto_install = true, + highlight = { + enable = true, + }, + }) + vim.cmd("TSUpdate") + end + }, + { + "mbbill/undotree", + keys = { + { "ut", "UndotreeToggle" } + }, + }, + { + "nvim-telescope/telescope.nvim", + tag = "0.1.4", + dependencies = { "nvim-lua/plenary.nvim" }, + keys = { + { "", "Telescope find_files" }, + { "fg", "Telescope live_grep" }, + { "fh", "Telescope help_tags" }, + }, + }, + + "tpope/vim-repeat", + "tpope/vim-surround", + "tpope/vim-commentary", + + { 'VonHeikemen/lsp-zero.nvim', branch = 'v3.x', config = function() + local lsp = require("lsp-zero").preset({}) + local lspconfig = require("lspconfig") + lspconfig.rust_analyzer.setup({}) + lspconfig.zls.setup({}) + lspconfig.lua_ls.setup(lsp.nvim_lua_ls()) + lsp.setup() + + vim.api.nvim_create_autocmd("LspAttach", { + group = vim.api.nvim_create_augroup("UserLspConfig", {}), + callback = function(ev) + local opts = { buffer = ev.buf } + vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts) + vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts) + vim.keymap.set("n", "gi", vim.lsp.buf.implementation, opts) + vim.keymap.set("n", "gr", vim.lsp.buf.references, opts) + vim.keymap.set("n", "K", vim.lsp.buf.hover, opts) + vim.keymap.set("n", "lr", vim.lsp.buf.rename, opts) + vim.keymap.set({ "n", "v" }, "", vim.lsp.buf.code_action, opts) + vim.keymap.set("n", "lf", vim.lsp.buf.format, opts) + end, + }) + end }, + { 'hrsh7th/cmp-nvim-lsp' }, + { 'hrsh7th/nvim-cmp' }, + { 'L3MON4D3/LuaSnip' }, + { "neovim/nvim-lspconfig" }, +}) -- cgit v1.3.1