Skip to content

abhaysp95/neovim-lua

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

My Neovim-Lua Configuration

Advantages

  • Fast Startup
  • Better Configuration
  • Native LSP support

Directory Structure

directory structure

For language server build files you can create a directory name language-servers and put the configuration of language servers in their individual folders.

Like sumneko-lua and jdtls require such configuration.

  • init: init.lua contains all the main modules required.

  • Plugins: All the installed are in lua/plugins/init.lua and their configuration is stored in their respective files inside lua/plugins.

  • Keybindings: General keybinds are stored in lua/keymaps.lua and plugin specific keybindings are stored in lua/plugins/plugin_keybindings.lua. Few plugins have some of the key-mapping stored in their config too.

  • Settings: General settings are stored in lua/settings.lua and plugin specific as mentioned before are stored in lua/plugins.

  • Colors: Color configuration, both general and plugin's variables are setup in lua/colors.lua file. General highlight group overrides are provided in lua/colors.lua, while plugin specific highlight groups are stored in their individual configuration files. This is the only reason for putting plugin module after colors in init.lua.

  • colpallete.lua: file contains custom color palletes which can be used by plugins by loading individually in their configuration file.

  • LSP: All the LSP related stuff are in lua/lsp/init.lua. Note that completion and other LSP related plugin's configuration are in their configuration files in lua/plugins directory.

Plugins Used

You can find all the installed in lua/plugins/init.lua. I'm mentioning some important ones.

LSP

  • neovim/nvim-lspconfig
  • glepnir/lspsaga.nvim
  • onsails/lspkind-nvim
  • kosayoda/nvim-lightbulb'
  • mfussenegger/nvim-jdtls

Completion

  • hrsh7th/nvim-cmp
  • hrsh7th/cmp-nvim-lsp
  • hrsh7th/cmp-path
  • hrsh7th/cmp-buffer
  • saadparwaiz1/cmp_luasnip

Statusline

  • famiu/feline.nvim

Utils

  • nvim-telescope/telescope.nvim
  • nvim-treesitter/nvim-treesitter
  • lukas-reineke/indent-blankline.nvim
  • christoomey/vim-tmux-navigator
  • voldikss/vim-floaterm

trees

  • kyazdani42/nvim-tree.lua
  • liuchengxu/vista.vim

icons

  • kyazdani42/nvim-web-devicons

git

  • lewis6991/gitsigns.nvim
  • sindrets/diffview.nvim
  • TimUntersberger/neogit

text commentary

  • b3nj5m1n/kommentary

text align

  • godlygeek/tabular

text surround

  • blackCauldron7/surround.nvim

colors

  • tanvirtin/monokai.nvim
  • ayu-theme/ayu-vim
  • romgrk/doom-one.vim
  • cocopon/iceberg.vim
  • whatyouhide/vim-gotham
  • srcery-colors/srcery-vim
  • sainnhe/gruvbox-material
  • jacoborus/tender.vim
  • jnurmine/Zenburn
  • sainnhe/edge
  • folke/tokyonight.nvim
  • arzg/vim-colors-xcode
  • norcalli/nvim-colorizer.lua
  • yunlingz/equinusocio-material.vim
  • ChristianChiarulli/nvcode-color-schemes.vim
  • bluz71/vim-nightfly-guicolors
  • rose-pine/neovim

Screenshots

  • Start

start page

  • LSP

lsp completion

Credits

Videos

Checkout chrisatmachine. He has good vidoes for different plugins and lua based neovim setup.

Blogs & Sites

repos

Disclaimer

This is not one step installation method repo. You are free to take anything and everything you see here to use in your own configuration. . This repo is under constant development stage. I try to follow minimal approach i.e., KISS principle. So, I'm adding and removing things according to my need.


Thanks to the authors of sites/blogs and repos and content creators mentioned above for creating awesome materials.

Releases

No releases published

Packages

No packages published

Languages