Compare commits

...

3 commits

8 changed files with 115 additions and 5 deletions

View file

@ -3,7 +3,24 @@ vim.g.mapleader = " "
vim.g.maplocalleader = ";" vim.g.maplocalleader = ";"
-- source current file -- source current file
vim.keymap.set("n", "<Leader> ", ":update<CR> :source<CR>") vim.keymap.set("n", "<Leader> ", ":update<CR> :source<CR>", { desc = "Source current lua file" })
-- format -- format
vim.keymap.set("n", "<Leader>lf", vim.lsp.buf.format) vim.keymap.set("n", "<Leader>lf", vim.lsp.buf.format, { desc = "Format buffer with available lsp" })
-- setup mini.pick
vim.keymap.set("n", "<Leader>ff", ":Pick files<CR>", { desc = "Search file in directory" })
vim.keymap.set("n", "<Leader>fh", ":Pick help<CR>", { desc = "Searcch neovim help" })
-- move lines up or 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 selection down" })
vim.keymap.set("v", "<A-k>", ":m '<-2<CR>gv=gv", { desc = "Move selection up" })
-- better indenting in visual mode
vim.keymap.set("v", "<", "<gv", { desc = "Indent left and reselect" })
vim.keymap.set("v", ">", ">gv", { desc = "Indent right and reselect" })
-- file exploring
vim.keymap.set("n", "<Leader>e", ":Oil<CR>", { desc = "Open oil file explorer" })

View file

@ -1,5 +1,14 @@
vim.pack.add({ vim.pack.add({
-- Colorscheme
{src = "https://github.com/ellisonleao/gruvbox.nvim"}, {src = "https://github.com/ellisonleao/gruvbox.nvim"},
-- Treesitter parsers
{src = "https://github.com/nvim-treesitter/nvim-treesitter"}, {src = "https://github.com/nvim-treesitter/nvim-treesitter"},
-- Preconfigured lsp's
{src = "https://github.com/neovim/nvim-lspconfig"}, {src = "https://github.com/neovim/nvim-lspconfig"},
-- Nice file manager
{src = "https://github.com/stevearc/oil.nvim"},
-- Amazing neovim bundle of plugins that are super nice
{src = "https://github.com/nvim-mini/mini.nvim"},
-- Fix the annoying neovim+lua errors
{src = "https://github.com/folke/lazydev.nvim"},
}) })

View file

@ -2,6 +2,12 @@
vim.opt.number = true vim.opt.number = true
vim.opt.relativenumber = true vim.opt.relativenumber = true
-- highlight cursorline
vim.opt.cursorline = true
-- highlight column 80
vim.opt.colorcolumn = "80"
-- make splits open on bottom and right -- make splits open on bottom and right
vim.opt.splitbelow = true vim.opt.splitbelow = true
vim.opt.splitright = true vim.opt.splitright = true
@ -9,13 +15,17 @@ vim.opt.splitright = true
-- disable line wrapping -- disable line wrapping
vim.opt.wrap = false vim.opt.wrap = false
-- setup tabs nicelly -- setup tabs and indenting
vim.opt.expandtab = true vim.opt.expandtab = true
vim.opt.smartindent = true
vim.opt.autoindent = true
vim.opt.tabstop = 2 vim.opt.tabstop = 2
vim.opt.shiftwidth = 2 vim.opt.shiftwidth = 2
vim.opt.softtabstop = 2
-- setup a nice scrolloff value -- setup a nice scrolloff value
vim.opt.scrolloff = 20 vim.opt.scrolloff = 20
vim.opt.sidescrolloff = 10
-- make virtual edit work for blocks -- make virtual edit work for blocks
vim.opt.virtualedit = "block" vim.opt.virtualedit = "block"
@ -23,8 +33,63 @@ vim.opt.virtualedit = "block"
-- make :s and others open a split -- make :s and others open a split
vim.opt.inccommand = "split" vim.opt.inccommand = "split"
-- ignore case -- search settings
vim.opt.ignorecase = true vim.opt.ignorecase = true
vim.opt.smartcase = true
-- disable neovim swap files -- matching bracket settings
vim.opt.showmatch = true
vim.opt.matchtime = 2
-- commandline settings
vim.opt.cmdheight = 1
vim.opt.showmode = false
-- popup settings
vim.opt.pumheight = 10
vim.opt.pumblend = 10
vim.opt.winblend = 0
-- concealing settings
vim.opt.conceallevel = 0
vim.opt.concealcursor = ""
-- redraw lazilly
vim.opt.lazyredraw = true
-- lower syntax highlighing for performance
vim.opt.synmaxcol = 300
-- better completion options
vim.opt.completeopt = "menuone,noinsert,noselect"
-- enable signcolumn
vim.opt.signcolumn = "yes"
-- enable rounded borders
vim.opt.winborder = "rounded"
-- better file handling
vim.opt.backup = false
vim.opt.writebackup = false
vim.opt.swapfile = false vim.opt.swapfile = false
vim.opt.undofile = true
vim.opt.undodir = vim.fn.expand("~/.local/state/nvim/undo")
vim.opt.autoread = true
vim.opt.autowrite = true
-- durations for completion and other stuff
vim.opt.updatetime = 300
vim.opt.timeoutlen = 500
vim.opt.ttimeoutlen = 0
-- change some behaviour settings
vim.opt.hidden = true
vim.opt.errorbells = false
vim.opt.backspace = "indent,eol,start"
vim.opt.autochdir = false
vim.opt.iskeyword:append("-") -- treat dash as part of the word
vim.opt.path:append("**") -- include subdirectories in search
vim.opt.selection = "exclusive"
vim.opt.modifiable = true
vim.opt.encoding = "UTF8"

View file

@ -1,3 +1,5 @@
require("plugins.colorscheme") require("plugins.colorscheme")
require("plugins.treesitter") require("plugins.treesitter")
require("plugins.lsp") require("plugins.lsp")
require("plugins.oil")
require("plugins.mini")

View file

@ -2,3 +2,6 @@ vim.lsp.enable({
"nixd", "nixd",
"lua_ls", "lua_ls",
}) })
-- fix stupid lua error with neovim
require("lazydev").setup()

1
lua/plugins/mini.lua Normal file
View file

@ -0,0 +1 @@
require("mini.pick").setup()

1
lua/plugins/oil.lua Normal file
View file

@ -0,0 +1 @@
require("oil").setup()

View file

@ -4,6 +4,14 @@
"rev": "5e0a460", "rev": "5e0a460",
"src": "https://github.com/ellisonleao/gruvbox.nvim" "src": "https://github.com/ellisonleao/gruvbox.nvim"
}, },
"lazydev.nvim": {
"rev": "e28ce52",
"src": "https://github.com/folke/lazydev.nvim"
},
"mini.nvim": {
"rev": "14145d3",
"src": "https://github.com/nvim-mini/mini.nvim"
},
"nvim-lspconfig": { "nvim-lspconfig": {
"rev": "ac98db2", "rev": "ac98db2",
"src": "https://github.com/neovim/nvim-lspconfig" "src": "https://github.com/neovim/nvim-lspconfig"
@ -11,6 +19,10 @@
"nvim-treesitter": { "nvim-treesitter": {
"rev": "42fc28ba", "rev": "42fc28ba",
"src": "https://github.com/nvim-treesitter/nvim-treesitter" "src": "https://github.com/nvim-treesitter/nvim-treesitter"
},
"oil.nvim": {
"rev": "7e1cd77",
"src": "https://github.com/stevearc/oil.nvim"
} }
} }
} }