The config is complete but still work in progress as I am new to lua and slowly learning vim stuffs. I'll keep adding new features like snippets etc and clean the config , make neovim (cli version) as functional as an IDE while being eyecandy. Pull requests are welcome.
This tiny plugin adds vscode-like pictograms to neovim built-in lsp completion items :
fast file tree :
A fuzzy file finder, picker, sorter, previewer and much more:
fastest statusline plugin I've used so far:
Shows git signs of a repo on the signcolumn to indicate diffs/changes etc (needs plenary.nvim)
As a top bufferline like thing which lets me handle tabs like switching, closing tabs.
Lua fork of vim devicons which lets me change icons of filetypes
Better syntax highlighting for programming languages ( my config just has html,css,js support for now ).
- 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
- Install neovim-nightly , also use a nerdfont on your terminal.
- run the install.sh script as root or copy the configs manually :
- Install packer.nvim
git clone https://github.com/wbthomason/packer.nvim\
~/.local/share/nvim/site/pack/packer/start/packer.nvim
- copy all config files in from this repo except ( plugin folder as it has config related to my system's username! )
- Open neovim and install all plugins , :PackerInstall and :TSUpdate
- Install language servers and prettier ( for autocompletion etc and code formatting , nodejs should be installed too!)
sudo npm install -g vscode-html-languageserver-bin typescript typescript-language-server vscode-css-languageserver-bin prettier
To setup any language server , follow this guide https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md and search up the needed LSP. For example if I needed clangd's lsp server :
I'd install it first and add its setup line : `` -- in /lua/nvim-lspconfig/lua.lua file
require'lspconfig'.clangd.setup{} ``
space is the leader key
- Ctrl b Open terminal vertically over right
- Ctrl x Open terminal horizontally below the current window
- Ctrl n toggle neovim tree
- Ctrl a copies everything in the current file
- select any text + y copies the selected text
- leader + f b open all buffers , with telescope
- leader + f p search and preview images with telescope
- leader + f f find files in the current DIR , with telescope
- leader + f o open recently edited files , with telescope
- leader + f f find files in the current DIR , with telescope
- leader + f h opens up a manpage like thing but for all vim related things , with telescope
- leader + f m formats or beautifies the code in current window via neoformat (currently only html ,css , js can be formatted . To be able to use this keybind you need to install the formatter locally for your language , in my case prettier was required only so I installed it. check this https://github.com/sbdchd/neoformat).
- add snippets support
- show statusline in inactive windows
if you get any errors with packer.nvim , then remove the ~/.config/nvim/plugin/packer_nvim.vim file since it just has file paths for my system and re-install packer.nvim
- My linux / unix related ricing community: https://t.me/DE_WM (telegram)
- Me: @siduck (telegram)