This repo contains my daily neovim config. It is built to provide a robust programming & text-editing experience that you would expect from any other modern text editor, while not conflating itself with too much IDE-like functionality. It is most efficient with a terminal-based workflow, preferably with the tmux session manager.
- Lazy-loaded plugins via lazy.nvim.
- LSP integration (via Neovims native LSP) with help from nvim-lspconfig.
- Enhanced with mason.nvim for easily managing & installing different language servers.
- Autocomplete via nvim-cmp with a ton of helpful completion sources provided.
- AI-generated code/function suggestions via Github Copilot (copilot.vim)
- Cozy Git integration (via gitsigns.nvim and vim-fugitive)
- Manage remote Github issues/PR's via octo.nvim.
- Performant fuzzy finding & file search via telescope.nvim, enhanced with the telescope-fzf-native.nvim for 🔥blazingly🔥 fast performance.
- UI enhancements such as a pretty buffer line (bufferline.nvim), status line (lualine.nvim), file tree explorer (nvim-tree.nvim), and cool notifications (nvim-notify).
- Debugger support via (nvim-dap).
- Debug tools for Javascript & Typescript projects, running in Node or the browser (via vscode-js-debug and nvim-dap-vscode-js).
- Many more handy plugins (See: lua/bkincaid/plugins/init.lua ) & remaps for a general programming & productivity-focused workflow.
init.lua
: The entrypoint for the neovim config. Requires all core files fromlua/bkincaid
.lua/
: Contains all requireable lua modules/files.bkincaid/
: All internal lua modules/files.remap.lua
: General remaps. Any remaps that are not plugin-dependant should be placed here.rules.lua
: Setting all global vim optionstmux.lua
: All specific integrations with tmux. Tmux is a core part of my workflow and didn't want to associate this file as a "plugin" as it's a purely external dependency other than the bindings in this file.plugins/
: Directory which houses all plugin-specific modules & initialization fileinit.lua
: Handles initialization of lazy.nvim & definition of all plugins[plugin].lua
: Individual plugin definition table.
Since this is my personal configuration, i'm not open to contributions to this repo. However, feel free to fork this repo as a "vanilla" starting point to your own Neovim config, or start a discussion if any tips or recommendations in ways to improve the current config.