Skip to content

williamboman/neovim-lua

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

.

My Neovim configuration with Lua

.

This setup require neovim >= v0.5.1

Plugins

packer.nvim - A use-package inspired plugin manager for Neovim

nvim-tree.lua - A File Explorer written In Lua

indentBlankline - Adds indentation guides to all lines (including empty lines)

nvim-autopairs - A super powerful autopairs for Neovim

feline.nvim - A minimal, stylish and customizable statusline for Neovim written in Lua

nvim-web-devicons - A Lua fork of vim-devicons

vista.vim - View and search LSP symbols, tags in Vim/NeoVim

nvim-treesitter - Nvim Treesitter configurations and abstraction layer

nvim-cmp - Auto completion plugin

nvim-lspconfig - A collection of common configurations for Neovim's built-in language server client

LuaSnip - Snippet Engine for Neovim written in Lua

gitsigns - Super fast git decorations implemented purely in lua/teal

Directory tree of Lua files

├── lua
│   ├── plugins
│   │   ├── feline.lua
│   │   ├── indent-blankline.lua
│   │   ├── nvim-autopairs.lua
│   │   ├── nvim-cmp.lua
│   │   ├── nvim-lspconfig.lua
│   │   ├── nvim-tree.lua
│   │   ├── nvim-treesitter.lua
│   │   ├── packer.lua
│   │   └── vista.lua
│   ├── colors.lua
│   ├── keymaps.lua
│   └── settings.lua
├── plugin
│   └── packer_compiled.lua
└── init.lua

Files and settings

Appearance

Colorschemes:

Neovim Monokai

Rose Pine

Fonts: Cozette

Icons: nvim-web-devicons

Screenshots

Monokai

.

.

Rose Pine

.

.

Installation

  1. Install neovim >= v0.5.1

  2. Install npm (for download the packages of LSP language servers)

  3. Download this repository with git and copy the nvim folder

    git clone https://github.com/brainfucksec/neovim-lua.git
    cd neovim-lua/
    cp -Rv nvim ~/.config/
  1. Install packer.nvim for manage the plugins, see: https://github.com/wbthomason/packer.nvim#quickstart

LSP Configuration

  1. Install LSP language servers with npm
    sudo npm install -g bash-language-server pyright vscode-langservers-extracted tsserver
  1. Install clang for use LSP with clangd

  2. Open a source file of one of the supported languages with neovim, in the Neovim cmd line run command :LspInfo for testing the LSP support

Languages currently supported:

Bash - bashls

Python - pyright

C-C++ - clangd

HTML/CSS/JSON - vscode-html

JavaScript/TypeScript - tsserver (under development)

See: nvim-lspconfig #CONFIG.md

TODO

  • Add Lua to LSP configuration
  • Find other colorschemes (hard)
  • Improve Terminal

Guides and resources

Other Neovim Lua projects and examples

Lua resources

Disclaimer

  • This configuration is in development version. See: Version on init.lua file, anyway sometimes small changes are not included, so you always see git commits.

  • 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!


Thanks to all the authors of the sources mentioned above and to all the others from whom I "stole" some configs :)

About

My Neovim configuration with Lua

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Lua 100.0%