Skip to content

Khelda/nvim-config

Repository files navigation

My personal Neovim config

Try it out!

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!

Contributing

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.

Install it

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.

Useful keybindings

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.

Goyo

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.

About

Custom neovim configuration

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •