Skip to content

rtgiskard/lazyNvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 

Repository files navigation

📜 About

license kofi

This is my personal neovim config inspired by LazyVim, with KISS in mind.

✨ Features

  • KISS: simple and stupid, less is better

  • Easy: either to understand or to extend

  • Fast: modern neovim config with pure lua

  • Ready: comfortable and convenient out of the box

🖼️ Effects

dashboard

coding

plugins

float terminal

⚡️ Requirements

  • Neovim >= 0.9.2 (needs to be built with LuaJIT)

  • Git >= 2.19.0 (for partial clones support)

  • a Nerd Font (optional)

  • a C compiler for nvim-treesitter. See here

  • external tools (configured in lua/init/options.lua:M.plugins)

    • treesitter parser: used by nvim-treesitter, install/update with :TSUpdate

    • lsp server, linter, formatter: managed by mason, install/update with :MasonUpdate

    • dap: external debug tools, install: mason or manually

🚀 Getting Started

# backup your neovim config
mkdir -p nvim
mv ~/.config/nvim/ nvim/nv.config
mv ~/.local/share/nvim/ nvim/nv.share
mv ~/.local/state/nvim/ nvim/nv.state
mv ~/.cache/nvim/ nvim/nv.cache

# clone the repo
git clone https://github.com/rtgiskard/lazyNvim.git ~/.config/nvim

# launch
nvim

# enter `Y` to install lazy.nvim and the plugins

⚙️ Configuration

lua/init/options.lua

most of neovim’s options and some of the plugins' specs are configured here

lua/init/keymaps.lua

except for nvim and plugins' defaults, all manually configured keymaps are maintained here

lua/plugins/

define all the plugins managed by lazy.nvim with the spec settings

As this is not meant to be an all-in-one config for all dev languages, the initial setup includes only a limited set that I personally use, you may want to adjust it as you need, like lsp servers and formatters list in lua/init/options.lua::plugins, which should be enough.

Some of the settings are switchable via keymaps (like mouse, linenumber, listchars and etc.), of course you can define more with the handlers held in lua/init/utils.lua.

And you may also find some references from lazyVim’s doc.

🗒️ Plugin Notes

  • treesitter: syntax parser, provide better highlighting

  • lsp: language server, provide: completion, linting, formatting, diagnostics, hover/jump ..

  • linter: common checks and provide hints, run with or without lsp

  • formatter: format code, takes priority over lsp format

  • dap: debug adapter

  • related utils:

    1. mason: help to install lsp/dap/linter/formatter tools

    2. lspconfig: configurations for lsp servers

  • ui enhancement:

    1. telescope: the extendable fuzzy finder

    2. notify: popup notification

    3. themes and misc

  • other tools: complete, indent, trim, pairs, and etc.

🧾 License

This project is licensed under the terms of the GPLv3 or any later version.


kofi1

About

Neovim config for the lazy

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages