A base Neovim configuration template inspired by Spacemacs.
Please fork and modify the repository to suit your needs, you can build your own Neovim on top of this (subjectively) cool starting point.
If you're currently using Spacemacs for Clojure (or any other language, Clojure is just my favourite) and you feel like trying out Neovim, you may feel overwhelmed and alienated at first. You don't know where to start building your own Neovim configuration.
How do you structure it? What plugin manager do you use? What's airline? Who's tpope and why are they so great?
These are the questions the intended audience will probably be asking themselves.
- Really useful plugins
- Linting
- Autocompletion
- Fuzzy matching of almost everything (just like helm)
- Clojure tooling
- Scheme tooling
- Useful mappings
- Git integration
- Undo tree visualisation
- Effortlessly jump around your code
Follow the links to the relevant source to see what I've bound these features to by default. Obviously you can change them to whatever works for you.
- Clone your fork of this repository into
~/.config/nvim/
- Execute
~/.config/nvim/sync.sh
- ???
- Execute
nvim
- Profit!
You'll want to run sync.sh
whenever you change your plugins.vim
list or if you just want to update all of your current plugins.
ripgrep and fzf are used for findings things extremely quickly so make sure you have those installed. You'll probably want to configure fzf to use ripgrep too, I use these lines in my fish config.
set -gx FZF_DEFAULT_COMMAND "rg --files --hidden --follow -g \"!.git/\" 2> /dev/null"
set -gx FZF_CTRL_T_COMMAND $FZF_DEFAULT_COMMAND
Plugin management is provided by the wonderful vim-plug. I've set things up so all you need to do is regularly run sync.sh
to keep things up to date and alter plugins.vim
to add or remove plugins.
Configuration for your plugins should go under modules/plugins/NAME.vim
where NAME
is the exact repo name of the plugin. If you remove a plugin from plugins.vim
but forget to remove the appropriate config file my script will warn you.
I'm a long time Vim user, JavaScript escapee, Clojure admirer and keyboard builder. I've been using Spacemacs for quite a while now but fancied playing with Vim again, so I thought I'd put what I feel is a good starting point up here for others to build upon.
Here's a little more of me around the internet for further context:
Feel free to throw opinions about languages and text editors at me or help refine this little project into something small yet powerful.
Find the full unlicense in the UNLICENSE
file, but here's a snippet.
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.
Do what you want. Learn as much as you can. Unlicense more software.