2.8 KiB
My Neovim Config
This is my current Neovim config.
OS compatibility
| Operating System | Confirmed Working | Notes |
|---|---|---|
| Solus(Linux) | ✅ | Current Config Target |
| Windows | ❎ | Priority for testing after feature completeness |
| macos | ❓ | Untested but unix-like presumed working |
Features
Plugin manager
For this I use packer.nvim
It's simple to configure and has lazy loading support so I don't need to have every plugin enabled at all times. It also handles dependency management so I can declare what dependencies a package has and it can handle loading them in the correct order.
LuaLine
LuaLine is a mostly drop-in component however I have created my own extension for it that adds a feature I think was missing
lualine-spell-status
my LuaLine extension to show the current status and language of the build in spellchecker.
Custom FileType detection
Making use of the ftdetect folder I am able to customise the detection of
some file-types.
These ftdetect customisations are only expected to grow and will allow me
to take full control of my editing experience.
Filetype specific settings.
Using a custom set of ftplugin scripts I can set certain settings on specific
file-types only. This is used to set textwidth limits and other things that
wouldn't be applicable to every file-type.
Which-Key
Never forget a KeyBinding again. as long as you can remember the first key A useful plugin that has helped me remember some of the built-in bindings and pick up some more advanced movement.
Zen-Mode
Make focusing a little easier. Remove all of the distractions from my editor and just show the code I'm working on. This is especially useful for writing prose and general note-taking.
Annoyances
Missing calls
Some native vimscript calls are yet to have a proper lua method added and as such I have to wrap them. An example of this is calling colorscheme which I currently do like this:
vim.cmd([[colorscheme gruvbox]])
KeyBinding and Documentation
I am yet to fully transition all of my original bindings from my
init.vim, some of which provided a great utility. However this process is
one I have found rather slow and tedious. It also is made harder with
having to document automatic bindings in Which-Key.
I also have found pasting is slower due to Which-Key getting in the way.
Probably just need to override the p key to not trigger it.