philkoch / nvim-config

extensive configuration for neovim to make it work like an IDE

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NVIM-CONFIG

My nvim-config based on 0 to LSP: Neovim RC From Scratch from ThePrimagen. To use the configuration you need to copy the folder into your neovim-configuration folder (default: ~/.config/nvim), start up neovim, run :Lazy and check the config for post-install sections for the plugins.

Check ./lua/plugins for configurations of each plugin

The following plugins are used:

Plugin Description
lazy.nvim Plugin Manager
lsp-zero Language Server for basic IDE functionality
nvim-dap-python Debugger for python
telescope-nvim Fuzzy Finder
nvim-treesitter Syntax Highlighting and more syntax-tree functionality
undotree keeps track of changes in files
trouble.nvim in-line diagnostics
FTerm a floating terminal inside neovim
lazygit-nvim lazygit integration
which-key shows configured keymappings on
comment context aware comments
luasnip allows to define code snippets
catppuccin colorscheme
neogen generates documentation
peek markdown file preview
vim-wakatime easy time-tracking
neodev autocompletion for neovim apis
gitsigns.nvim git information in buffers
auto-session saves and restores the last buffer layout
refactoring refactoring functionality like extracting functions or variables
treesitter-context displays the of the current function at the top
neotest prettier tests
conform.nvim formatters
nvim-lint linters
mason.nviml portable package manager
indent-blankline vertical lines to highlight indentation
todo-comments highlights TODO's in code

nvim-dap-python post-install

nvim-dap-python requires debugpy to run. Since I like to keep everything that has to do with neovim in one folder. I've created a .virtualenvs subfolder and installed it there

cd ~/.config/nvim
mkdir .virtualenvs
cd .virtualenvs
python venv .virtualenvs
python -m venv debugpy
debugpy/bin/python -m pip install debugpy

in neovim run (:warning:treesitter-plugin required!!)

:TSInstall python

formatter / linter post-install

Use :Mason to open Mason and install the formatters and linters you want to use.

peek pre-install

deno is required for rendering markdown. Install it from the package repo of your distro.

indent-blankline

add highlight-groups in init

About

extensive configuration for neovim to make it work like an IDE


Languages

Language:Lua 100.0%