neovim-config/README.md

4.9 KiB

Super-Linter

An attempt to make neovim (cli version) as functional as an IDE while being very eyecandy.

Screenshots -



Very Useful lua plugins used in my config -

lspkind-nvim

This tiny plugin adds vscode-like pictograms to neovim built-in lsp completion items :


nvim-tree.lua

fast file tree :


telescope-nvim -

A fuzzy file finder, picker, sorter, previewer and much more:


indent-blankline.nvim -

adds indentline :

using indenLine plugin on left and blanklineNvim on right

galaxyline -

fastest statusline plugin I've used so far:


gitsigns.nvim -

Shows git signs of a repo on the signcolumn to indicate diffs/changes etc (needs plenary.nvim)


nvim-bufferline.lua -

As a top bufferline like thing which lets me handle tabs like switching, closing tabs.


nvim-web-devicons -

Lua fork of vim devicons which lets me change icons of filetypes


nvim-treesitter

Better syntax highlighting for programming languages ( my config just has html,css,js support for now ).

without / with Treesitter :

nvim-base16 -

contains a collection of all base16 themes for vim , plugin written in lua (comparison of base16-vim and nvim-base16):

nvim-base16 doesnt even take time to load unlike base16-vim which was eating half of the loadup time! ( the below screenshot was taken and tested on my old pentium laptop , so results might differ)


(neovim loads pretty fast on ssds)


Config structure

     nvim
      ├──init.lua
      └──lua
          └──anything.lua
  • The init.lua is used instead of init.vim.
  • The lua folder contains modules ( config files ) , in the example above anything.lua file in lua folder could be considered as a module.
  • The anything.lua file is supposed to have any neovim config written in lua , its like splitting the overall config into small bits and make it more organized , like one module for highlights and colors , another one for statusline and so on!.
  • To load or source that "anything" module (like making it load with init.lua ) ,add this is in init.lua : require "anything".

Features

  • File navigation with Nvimtree
  • mouse works
  • managing tabs with bufferline
  • autosave
  • icons on nvimtree , telescope , bufferline/statusline and almost everywhere! with nvim-web-devicons
  • minimal status line ( galaxyline)
  • gitsigns (colored bars in my config)
  • using nvim-lsp
  • nvim-lspconfig for nvim-lps configuration
  • nvim-compe for autocompletion
  • lspkind to show pictograms on autocompletion items
  • telescope for file finding , picking , previewing (files and even images)
  • nvim-treesitter for syntax highlighting
  • nvim-autopairs , for autolosing braces and stuffs
  • neoformat for prettifying / formatting code
  • packer.nvim as package manager
  • indent-blankline.Nvim for indentlines
  • smooth scrolling
  • Snip support from VSCode through vsnip supporting custom and predefined snips (friendly-snippets)

Wiki

TODO

  • Add more themes.
  • Add a theme switcher

Contact -

  • My linux / unix related ricing community: https://t.me/DE_WM (telegram)
  • Me: @siduck (telegram)