|
|
|
# NukeVim -- nucleardog's nvim config
|
|
|
|
|
|
|
|
This is my neovim config.
|
|
|
|
|
|
|
|
It's mine. It's built to serve my purpose and make my day-to-day life as a
|
|
|
|
developer better. You may find something of value here.
|
|
|
|
|
|
|
|
## Why
|
|
|
|
|
|
|
|
Perfection is achieved, not when there is nothing more to add,
|
|
|
|
but when there is nothing left to take away.
|
|
|
|
|
|
|
|
Many other vim distributions are heavy. I don't mean that they start too slow,
|
|
|
|
run slowly, or anything performance-wise... cognitively heavy. They have too
|
|
|
|
many features and too many changes to the core vim experience. Their configs
|
|
|
|
are large and opaque. It often feels like starting back at square one and
|
|
|
|
trying to learn vim and vimscript all over again.
|
|
|
|
|
|
|
|
NukeVim's goal is to _extend_ vim rather than replace it. Functionality is
|
|
|
|
generally added in a way that just stays out of your way. The core vim
|
|
|
|
experience is largely unchanged and should feel familiar to anyone who has
|
|
|
|
lived in vim for years and developed all the muscle memory that goes along
|
|
|
|
with that experience.
|
|
|
|
|
|
|
|
Functionality is not added lightly, and everything that's present is present
|
|
|
|
because it helps streamline my experience and improve my flow.
|
|
|
|
|
|
|
|
## What
|
|
|
|
|
|
|
|
It's... vim. It looks like vim and it works like vim.
|
|
|
|
|
|
|
|
As you delve deeper, you'll find that NukeVim contains tools to help you
|
|
|
|
understand and navigate your code, manage your project, and simplify
|
|
|
|
working with common development tools.
|
|
|
|
|
|
|
|
This is all managed by a structured and coherent configuration and a plugin
|
|
|
|
meta-manager that automatically adapts to the available tooling on your system
|
|
|
|
as well as makes manual adjustments a breeze and allows changes without the
|
|
|
|
whole thing exploding.
|
|
|
|
|
|
|
|
# More Info
|
|
|
|
|
|
|
|
The primary documentation (including installation instructions) is maintained
|
|
|
|
in [a vim help file](doc/nukevim.txt) that can be viewed directly or opened at
|
|
|
|
any time in nukevim with `:h nukevim`.
|
|
|
|
|
|
|
|
# TODO
|
|
|
|
|
|
|
|
* Go through and declare all the variables `local` because I misunderstood lua
|
|
|
|
variable scoping rules.
|
|
|
|
* Replace tagbar/ctags with cocoutline? Or vista (uses LSP instead of ctags)
|
|
|
|
* Maybe add CtrlPFunky for navigating within files?
|
|
|
|
* CocAction('format') -- what else?
|
|
|
|
* Review new Coc extensions
|