That's right! You can take my Neovim configuration for a spin right now, without clobbering your existing configuration!
Just clone this repository and run the nvim script at its root!
Please don't. This is more of a personal configuration made public, this is not meant for open contribution... If you intend to publish modifications on this configuration, please fork this repository.
This repository follows the format for Neovim's runtime directory, meaning you can clone it directly into ~/.config/nvim on your system. However, I would recommend using nix profile to install this configuration, even more so if you intend to make changes to it.
This configuration works best with Nix, but it isn't a hard requirement. You can also import the neovim package in this Nix flake into your NixOS configuration.
This configuration specifies a few keybinds, most of which were created with the French AZERTY layout in mind. All keybinds are defined in init.vim.d/50-keybinds.vim and are shared between Vim and Goyo mode where applicable.
Here's a list of all non-default keybindings in this Neovim config:
| Keys | Action | Vim command | 
|---|---|---|
| jk | Escape (in insert and term mode) | |
| b… | Buffer commands | |
| bn | Next buffer | :bn | 
| bv | Previous buffer | :bp | 
| bd | Delete buffer | :bd | 
| mb… | Moving buffer commands | |
| mbn | Moving buffer to the right | :BufferMoveNext | 
| mbv | Moving buffer to the left | :BufferMovePrevious | 
| t… | Tab commands | |
| ty | Next tab | :tabnext | 
| tr | Previous tab | :tabprev | 
| tn | New tab | :tabnew | 
| . | Code movement | |
| ? | Show symbol details (hover) | |
| µ | Show all references (shift+ *) | 
The Leader key is set to the exclamation point (!) by default. Below are keybindings which start with the Leader key:
| Keys | Action | Vim command | 
|---|---|---|
| q | Clear all notifications | |
| ← | Focus left buffer | <C-w><C-h> | 
| ↓ | Focus buffer below | <C-w><C-j> | 
| ↑ | Focus buffer above | <C-w><C-k> | 
| → | Focus right buffer | <C-w><C-l> | 
| hw | Write buffer as HTTP request | |
| l… | Line numbers | |
| la | Set line numbers to Absolute | :set nornu | 
| lr | Set line numbers to Relative | :set rnu | 
| c… | Code movement | |
| cD | Go to declaration | |
| cd | Go to definition | |
| ci | Go to implementation | |
| c← | Show incoming calls | |
| c→ | Show outgoing calls | |
| cf | Apply code formatter | |
| yp | Apply yapf code formatter | :!yapf -i % | 
| mv | Refactor (rename) symbol | |
| ? | Show code actions | :lua require "tiny-code-action".code_action() | 
| ! | Show diagnostics panel | |
| d… | Debugger | |
| db | Set breakpoint | |
| dc | Continue (or start debugger) | |
| dn | Next/Step-Over | |
| ds | Step/Step-Into | |
| dF | Browse stack frames | |
| dS | Browse function scopes | |
| d? | Show debug symbol details | |
| g… | Git conflicts | |
| go | Choose our changes | |
| gt | Choose their changes | |
| gn | Choose neither (delete conflict) | |
| ga | Choose all changes (merge) | |
| f… | File browser | |
| fr | Refresh files pane | :NvimTreeRefresh | 
| ft | Toggle files pane | :NvimTreeToggle | 
| t… | Tagging | |
| tt | Show symbols pane | :Vista | 
| td | Search for and list TODOs | :Ags TODO | 
This configuration also includes Visual-Multi and its keybindings.
This configuration also includes a Goyo setup, to have a distraction-free editor built into Neovim. To use it, just run the goyo script at the config's root or launch this command :
nvim --cmd "let g:startGoyo = 1"However, if you use the version in my zsh config and kitty, you may experience some... Weird things if you put the goyo editor in the background of your terminal, i.e. terminal colorscheme might weird out.