Neovim Config
Neovim configuration used for daily coding. Built using Lua centered arounf Folke's lazy package manager
Requires Neovim nightly Learn Neovim's api and anything can be configured
Neovim alpha landing page
Plugins
Plugin manager: folke/lazy.nvim Package manager is used automate cloning of repos and placing into RTP (Runtime Path)
- Could also be done manually if you wanted to maintain yourself
All plugins located inside ./lua/brady/plugins/
Typical set up follows the structure
- Provide github repo to pull from
- Designate loading strategy (Immediately, Lazy, Event/Command ...)
- Provide configuration for plugin
- Calling
setup()with custom config table - Creating keymaps for plugin
- Calling
Navigation
Navigate across code base using Harpoon, Telescope, Gitsigns, Oil, LSP Diagnostic/Symbols
Project Navigation
Harpoon: Useful when a narrow set of files are constantly used for a task
- Add specific files to harpoons list
- Quickly navigate to them
Telescope: Used for fuzzy finding across various lists of data
- Find Files: Search across all files in
pwd - Git Files: Files which have been modified in the git working tree
- Find Buffers: Files which you have opened
Oil: Get used to not having the file tree always open
Buffer Navigation
Git: Git signs allows you to move throughout buffer based of git hunks
- Move to locations in the file which have been altered
- Preview the changes (inline/overlay)
LSP:
- Diagnostics
- Symbols
- Definitions
Coding
Completion list can be populated with various sources
- Directories, Buffer words, LSP suggestions
Snippets which can be expanded
LSP
Install through package manager
Mason can be used as a replacement
sudo pacman -S lua-language-server bash-language-server vscode-json-languageserver pyright typescript-language-server
DAP
sudo pacman -S delve python-debugpy