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!
This repository follows the format for Neovim's runtime directory, meaning you can clone it directly into ~/.config/nvim
on your system.
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 keybindings, 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 |
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 | |
op |
Show Color Picker | |
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 | :CodeActionMenu |
! |
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 TODO s |
:Ags TODO |
st… |
Sourcetrail integration | |
strt |
Start Sourcetrail server | |
satk |
Send position to Sourcetrail | |
stfr |
Refresh Sourcetrail connection |
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.