This setup is for neovim v0.5.0
paq-nvim - Neovim package manager written in Lua
indentLine - Show indent lines
lualine.nvim - Statusline written in pure Lua
nvim-compe - Auto completion plugin
nvim-lspconfig - A collection of common configurations for Neovim's built-in language server client.
nvim-tree.lua - A File Explorer written In Lua
nvim-web-devicons - A Lua fork of vim-devicons
tagbar - Browse the tags of the current file and get an overview of its structure
I use Paq for plugin manager, see: https://github.com/savq/paq-nvim#installation
~/.config/nvim
.
├── init.lua
└── lua
├── keymapping.lua
├── nvim-compe
│ └── main.lua
├── nvim-lspconfig
│ └── main.lua
├── nvim-tree
│ └── main.lua
├── settings.lua
└── statusline.lua
-
init.lua: Main configuration file (call
lua
modules, load plugins etc.) -
lua: Folder of
lua
modules, here reside all the Lua modules that needed. The logic is simple, inside thelua
folder there are the files and/or folders for neovim and plugins settings (written in Lua), these modules are called frominit.lua
file (See below). For plugins settings I use the convention<plugin-folder/main.lua>
. See: https://github.com/nanotee/nvim-lua-guide#where-to-put-lua-files -
keymapping.lua: Keymaps configuration file, vim/neovim and plugins keymaps.
-
settings.lua: General Neovim settings and configuration
-
statusline.lua: Statusline configuration file (in this case I use this file for lualine.nvim configuration)
-
nvim-compe: Autocompletion settings, TAB completion also for LSP
-
nvim-lspconfig: LSP configuration: in this file I insert the language servers for LSP
-
nvim-tree: File manager settings
See: nvim-lspconfig #CONFIG.md
-
Bash - bashls
-
Python - pyright
-
C, C++ - clangd
-
HTML, CSS, JavaScript - vscode-html
Bash
C
Python
Colorscheme: molokai
Fonts: Cozette
Icons: nvim-web-devicons
-
Improve section LSP config
-
Test nvim-treesitter
-
Lua in Y minutes - https://learnxinyminutes.com/docs/lua/
-
Lua Quick Guide - https://github.com/medwatt/Notes/blob/main/Lua/Lua_Quick_Guide.ipynb
-
Lua 5.1 Reference Manual - https://www.lua.org/manual/5.1/
This configuration is in alpha version, See: Version
on init.lua as a reference.
I work fine with this configuration but it is still not intended for daily use, see my current init.vim configuration on my
dotfiles for the "stable" setup that I use on some operating systems.
As all my setups I try to follow the KISS principle, probably some concepts may not be valid for everyone, then feel free to take what you need but don't install anything without checking first!