Compare commits
No commits in common. "4e01c2903ecc40e4b946b9f4cfdada8fd5bf79e5" and "5501a8027a263ee345f405f858854ad5e50efea7" have entirely different histories.
4e01c2903e
...
5501a8027a
4 changed files with 10 additions and 120 deletions
101
README.md
101
README.md
|
|
@ -1,100 +1 @@
|
||||||
# Simple neovim config, with only a small amount of plugins
|
# Simple af mininal neovim config
|
||||||
|
|
||||||
<!--toc:start-->
|
|
||||||
- [Simple neovim config, with only a small amount of plugins](#simple-neovim-config-with-only-a-small-amount-of-plugins)
|
|
||||||
- [Package manager/Lazy loading/Lua compilation for faster startup time](#package-managerlazy-loadinglua-compilation-for-faster-startup-time)
|
|
||||||
- [Package manager](#package-manager)
|
|
||||||
- [Lazy loading](#lazy-loading)
|
|
||||||
- [Lua config compilation for faster startup](#lua-config-compilation-for-faster-startup)
|
|
||||||
- [Colorscheme](#colorscheme)
|
|
||||||
- [Treesitter](#treesitter)
|
|
||||||
- [Lsp](#lsp)
|
|
||||||
- [Code completion/autocompletion and snippets](#code-completionautocompletion-and-snippets)
|
|
||||||
<!--toc:end-->
|
|
||||||
|
|
||||||
Very simple neovim config with just stuff I need to do my work/act like I'm a worker.
|
|
||||||
|
|
||||||
Trying to use as many built in stuff as possible ( That's the main reason I'm rocking the nighly version of neovim ).
|
|
||||||
|
|
||||||
I have all my configurations in a `lua/config` directory with a pack.lua file for some plugins that don't need any configurations.
|
|
||||||
|
|
||||||
Now I will try and go over a couple type of plugins that I'm using or that I'm not using because it's now built in or just annoying and I don't understand why people use them.
|
|
||||||
|
|
||||||
## Package manager/Lazy loading/Lua compilation for faster startup time
|
|
||||||
|
|
||||||
This is a pretty broad category because the most popular package manager lazy actually does all of this that's why I have it all mentioned here.
|
|
||||||
|
|
||||||
### Package manager
|
|
||||||
|
|
||||||
I'm using the new built in neovim package manager **pack** that's currently only available in the neovim nighly v0.12
|
|
||||||
|
|
||||||
### Lazy loading
|
|
||||||
|
|
||||||
I don't do any lazy loading, I only use ( Looks at notes ) 6 packages only, and they all are either just a colorscheme or have amazing built in lazyloading.
|
|
||||||
|
|
||||||
### Lua config compilation for faster startup
|
|
||||||
|
|
||||||
This is a feature that lazy.nvim does, and another plugin called impatient.nvim ( I believe that's the name ), but neovim has a built in feature for that since couple version ago ( It's still "experimenta" ) that works as well as the options named before.
|
|
||||||
|
|
||||||
## Colorscheme
|
|
||||||
|
|
||||||
Using gruvbox colorscheme, fight me or join me I don't care.
|
|
||||||
|
|
||||||
## Treesitter
|
|
||||||
|
|
||||||
I enjoy using treesitter for syntax highlight.
|
|
||||||
|
|
||||||
## Lsp
|
|
||||||
|
|
||||||
I use the regular lsp with nvim-lspconfig just for the configurations so I don't have to set configuration for every lsp myself or update them if something changes in how an lsp work's.
|
|
||||||
|
|
||||||
I'm still able to change lsp settings using `lsp/name_of_lsp.lua` and changing specific settings I need.
|
|
||||||
|
|
||||||
## Code completion/autocompletion and snippets
|
|
||||||
|
|
||||||
I'm using the built in code completion and use mini.autocomplete to have autocompletion and definitions automatically show when typing but much less anoying than most other's autocompletion plugins.
|
|
||||||
|
|
||||||
I don't use any plugin for stuff like path completion because neovim already has it built in, just type <C-x><C-f> and there are other type's of completion that already exist in neovim.
|
|
||||||
|
|
||||||
For snippets I'm also making use of neovim's built in snippet engine with mini.snippets to add some more simple functionality.
|
|
||||||
|
|
||||||
## Fuzzy finder/searcher
|
|
||||||
|
|
||||||
I'm using mini.pick with multiple other mini extensions to add in more features some of them being:
|
|
||||||
|
|
||||||
- git related searches
|
|
||||||
- pattern searching like FIXME/HACK/TODO/NOTE
|
|
||||||
- diagnostics
|
|
||||||
- most visited paths
|
|
||||||
- path's set with specific tag
|
|
||||||
|
|
||||||
## statusline
|
|
||||||
|
|
||||||
I'm using the mini.statusline that's very simpe and only has the kind of info I need and nothing else.
|
|
||||||
|
|
||||||
## File manager
|
|
||||||
|
|
||||||
Mini.move, simple and easilly extendable.
|
|
||||||
|
|
||||||
## Keybindings cheatsheet
|
|
||||||
|
|
||||||
mini.clue, simple and looks like helix and is less in the way than whichkey and other similar plugins.
|
|
||||||
|
|
||||||
Easy to also add custom completions for easier time.
|
|
||||||
|
|
||||||
## Auto pair
|
|
||||||
|
|
||||||
I don't use any autopair plugins, they are annoying and almost never pair when I need them to and only pair when I don't need them to.
|
|
||||||
|
|
||||||
## Miscelenaous plugins
|
|
||||||
|
|
||||||
This are all mostly for some nihe stuff and don't have a specific category
|
|
||||||
|
|
||||||
- mini.notify : Simple notification
|
|
||||||
- mini.visits : track visited files and file tagging
|
|
||||||
- mini.indentscope : highlight current indent scope
|
|
||||||
- mini.starter : simple dashboard
|
|
||||||
- mini.sessions : simple session creator
|
|
||||||
- mini.splitjoin : for easy spliting arguments
|
|
||||||
- mini.move : add keybindings for moving lines
|
|
||||||
- mini.icons : add icons support for everything I just named
|
|
||||||
|
|
|
||||||
|
|
@ -15,9 +15,6 @@ vim.opt.splitright = true
|
||||||
-- disable line wrapping
|
-- disable line wrapping
|
||||||
vim.opt.wrap = false
|
vim.opt.wrap = false
|
||||||
|
|
||||||
-- enable global statusline
|
|
||||||
vim.opt.laststatus = 3
|
|
||||||
|
|
||||||
-- setup tabs and indenting
|
-- setup tabs and indenting
|
||||||
vim.opt.expandtab = true
|
vim.opt.expandtab = true
|
||||||
vim.opt.smartindent = true
|
vim.opt.smartindent = true
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,15 @@ vim.lsp.config("*", {
|
||||||
},
|
},
|
||||||
-- make .git always be a root marker
|
-- make .git always be a root marker
|
||||||
root_markers = { '.git' },
|
root_markers = { '.git' },
|
||||||
|
-- setup autocompletion
|
||||||
|
-- on_attach = function(client, bufnr)
|
||||||
|
-- vim.lsp.completion.enable(true, client.id, bufnr, {
|
||||||
|
-- autotrigger = true,
|
||||||
|
-- convert = function(item)
|
||||||
|
-- return { abbr = item.label:gsub('%b()', '') }
|
||||||
|
-- end,
|
||||||
|
-- })
|
||||||
|
-- end,
|
||||||
})
|
})
|
||||||
|
|
||||||
-- enable specific language servers
|
-- enable specific language servers
|
||||||
|
|
@ -21,7 +30,6 @@ vim.lsp.enable({
|
||||||
"nixd",
|
"nixd",
|
||||||
"lua_ls",
|
"lua_ls",
|
||||||
"jsonls",
|
"jsonls",
|
||||||
"marksman",
|
|
||||||
})
|
})
|
||||||
|
|
||||||
-- diagnostic settings
|
-- diagnostic settings
|
||||||
|
|
|
||||||
|
|
@ -140,9 +140,6 @@ miniclue.setup({
|
||||||
-- `z` key
|
-- `z` key
|
||||||
{ mode = 'n', keys = 'z' },
|
{ mode = 'n', keys = 'z' },
|
||||||
{ mode = 'x', keys = 'z' },
|
{ mode = 'x', keys = 'z' },
|
||||||
|
|
||||||
-- add in support for built in completion
|
|
||||||
{ mode = 'i', keys = '<C-x>' },
|
|
||||||
},
|
},
|
||||||
|
|
||||||
clues = {
|
clues = {
|
||||||
|
|
@ -153,19 +150,6 @@ miniclue.setup({
|
||||||
miniclue.gen_clues.registers(),
|
miniclue.gen_clues.registers(),
|
||||||
miniclue.gen_clues.windows(),
|
miniclue.gen_clues.windows(),
|
||||||
miniclue.gen_clues.z(),
|
miniclue.gen_clues.z(),
|
||||||
-- add some clues to custom stuff
|
|
||||||
{ mode = "n", keys = "<Leader>f", desc = "Find" },
|
|
||||||
{ mode = "n", keys = "<Leader>fg", desc = "Git" },
|
|
||||||
{ mode = "n", keys = "<Leader>l", desc = "Lsp" },
|
|
||||||
{ mode = "n", keys = "<Leader>s", desc = "Treesitter" },
|
|
||||||
{ mode = "n", keys = "<Leader>v", desc = "Visits" },
|
|
||||||
|
|
||||||
-- built in completion
|
|
||||||
{ mode = 'i', keys = '<C-x><C-f>', desc = 'File names' },
|
|
||||||
{ mode = 'i', keys = '<C-x><C-l>', desc = 'Whole lines' },
|
|
||||||
{ mode = 'i', keys = '<C-x><C-o>', desc = 'Omni completion' },
|
|
||||||
{ mode = 'i', keys = '<C-x><C-s>', desc = 'Spelling suggestions' },
|
|
||||||
{ mode = 'i', keys = '<C-x><C-u>', desc = "With 'completefunc'" },
|
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue