It's a feature-rich neovim configuration for using it as a full-featured IDE in daily coding.
- Neovim 0.8
- Nerd Fonts
- ripgrep
- File explorer and quick navigation
- Beautiful UI
- Terminal
- Integration with git
- Status bar
- Fuzzy finding
Back up your current neovim configuration and clone this repository to the ~/.config/nvim
directory.
git clone https://github.com/mszenfeld/niyvim.git ~/.config/nvim
Now, you can run neovim and install required packages:
nvim
Mapping | Action |
---|---|
jj |
Escape key |
qq |
Close window |
Ctrl + h |
Go to the left window |
Ctrl + j |
Go to the window below |
Ctrl + k |
Go to the window above |
Ctrl + l |
Go to the right window |
Ctrl + \ |
Open terminal |
gcc |
Toggle the current line using linewise comment |
Space + ? |
Show key binding: + ? |
\a |
Toggle Aerial |
\db |
Toggle database UI |
Mapping | Action |
---|---|
Ctrl + f |
Open/focus file explorer |
Ctrl + p |
Open floating window with active buffers |
Mapping | Action |
---|---|
\fi |
Find files |
\rg |
Live grep |
Mapping | Action |
---|---|
\hs |
Stage hunk |
\hr |
Reset hunk |
\hp |
Preview hunk |
Mapping | Action |
---|---|
gd |
Go to definition |
gy |
Go to type definition |
gi |
Go to implementation |
gr |
Go to references |
\rn |
Rename |
Shift + k |
Show documentation |
Space + l |
Show diagnostics |
Space + f |
Code actions |
Mapping | Action |
---|---|
\ss |
Save Session |
\sl |
Load Session |
To add your custom configuration, you can put it in lua/config.lua
file:
-- config.lua
niyvim = require('niyvim')
-- Custom Plugins
niyvim.plugins = {
{ 'mfussenegger/nvim-dap-python' },
}
-- Custom Mappings
niyvim.mappings = {
['<leader>df'] = {
mode = { 'n' },
action = '<cmd>lua require("dap-python").test_class()<cr>',
opts = { noremap = true, silent = true },
},
}
niyvim.init = function()
dap_python = require('dap-python')
dap_python.test_runner = 'pytest'
dap_python.setup('~/.pyenv/shims/python')
end
return niyvim