Simple NVim config using lazy.vim as package manager.
You need install a nerd font : Nerd Fonts
This configuration is based on my Voyager keyboard config, so I recommend you to change remaps like you want (see my voyager config here: https://configure.zsa.io/voyager/layouts/rz4R9/latest/0)
This configuration use Lazygit, you need to install it.
Treesitter required to install some things, you can go to the git repository to check what need to be installed.
For telescope plugin, we also need to install fd, rg and fzf.
I also use Tmux a lot, so some parts of this configuration use it. You can find my Tmux config here.
After that, do :checkhealth to check if you have all required dependencies.
Mode | Keymap | Description |
---|---|---|
n, v | <leader>y |
Yank in system clipboard |
n | <leader>Y |
Yank from cursor to the end of the line in system clipboard |
n, v | <leader>d |
Delete the selection/object in the black hole register |
x | <leader>p |
Delete the selection/object in the black hole register then paste |
n | <leader>r |
Replace word under the cursor |
n | <leader>ct |
Toggle dark/light theme |
n | Y |
Yank from cursor to end of line |
v | J |
Move selection down |
v | K |
Move selection up |
n | <C-H> |
Move cursor to the left window / tmux window |
n | <C-L> |
Move cursor to the right window / tmux window |
n | <C-J> |
Move cursor to the bottom window / tmux window |
n | <C-K> |
Move cursor to the top window / tmux window |
n | <C-S> |
Reduce pane width |
n | <C-_> |
Increase pane width |
n | <leader>w |
Open new cwd tmux window |
Mode | Keymap | Description |
---|---|---|
n | <leader>l |
Open lazy-vim manager |
Configs for the Nvim LSP Client
Mode | Keymap | Description |
---|---|---|
n | <leader>cl |
LSP Info |
n | <leader>vd |
Line diagnostics |
n | <leader>ca |
Code Action |
n | <leader>cr |
Rename |
i | <C-H> |
Signature Help |
n | gK |
Signature Help |
n | gd |
Goto definition |
n | gr |
References |
n | K |
Hover |
n | ]d |
Next Diagnostic |
n | [d |
Previous Diagnostic |
n | ]e |
Next Error |
n | [e |
Previous Error |
n | ]w |
Next Warning |
n | [w |
Previous Warning |
Lightweight yet powerful formatter plugin for Neovim
Open a quicklist with project's build script to run.
Mode | Keymap | Description |
---|---|---|
n | <leader>bs |
Open build script quicklist then run choosen command in a new tmux window |
Getting you where you want with the fewest keystrokes.
Mode | Keymap | Description |
---|---|---|
n | <leader>ha |
Add current file to Harpoon list |
n | <leader>ho |
Open Harpoon quick menu |
n | <C-N> |
Navigate to the next harpoon file |
n | <C-P> |
Navigate to the prev harpoon file |
Build flutter and dart applications in neovim using the native LSP.
Portable package manager for Neovim that runs everywhere Neovim runs. Easily install and manage LSP servers, DAP servers, linters, and formatters.
Mode | Keymap | Description |
---|---|---|
n | <leader>cm |
Open Mason manager |
Lua snippets plugin
Snippets collection for a set of different programming languages.
A completion engine plugin for neovim written in Lua.
Mode | Keymap | Description |
---|---|---|
n | <C-f> |
Scroll forward |
n | <C-b> |
Scroll backward |
n | <C-Space> |
Complete |
n | <C-e> |
Abort |
n | <C-Y> |
Confirm |
The goal of nvim-treesitter is both to provide a simple and easy way to use the interface for tree-sitter in Neovim and to provide some basic functionality such as highlighting based on it.
Syntax aware text-objects, select, move, swap, and peek support.
Mode | Keymap | Description |
---|---|---|
n | ]f |
Go to next start function |
n | ]F |
Go to next end function |
n | [f |
Go to previous start function |
n | [F |
Go to previous end function |
Telescope.nvim is a highly extendable fuzzy finder over lists. Built on the latest awesome features from neovim core. Telescope is centered around modularity, allowing for easy customization.
Mode | Keymap | Description |
---|---|---|
n | <leader>ff |
Find files |
n | <leader>: |
Command history |
n | <leader>fb |
Files Buffers |
n | <leader>fr |
Recents files |
n | <leader>sd |
Diagnostics |
n | <leader>sD |
Diagnostics in workspace |
n | <leader>fg |
Grep files |
n | <leader>sh |
Help pages |
n | <leader>sH |
Search Highlight groups |
n | <leader>sk |
Key Maps |
n | <leader>sM |
Man Pages |
n | <leader>sm |
Jump to Mark |
n | <leader>ss |
Goto symbol |
n | <leader>sS |
Goto symbol in workspace |
telescope-file-browser.nvim is a file browser extension for telescope.nvim. It supports synchronized creation, deletion, renaming, and moving of files and folders powered by telescope.nvim and plenary.nvim.
Mode | Key | Description |
---|---|---|
n | <leader>e |
Open file browser |
n | <leader>E |
Open file browser (ignore gitignore) |
Mode | Key | Description |
---|---|---|
i | <C-c> |
Create |
i | <C-r> |
Rename |
i | <C-x> |
Remove |
i | <C-o> |
Open |
i | <C-g> |
Goto_parent_dir |
i | <C-e> |
Goto_home_dir |
i | <C-w> |
Goto_cwd |
i | <C-t> |
Change_cwd |
i | <C-f> |
Toggle_browser |
i | <C-h> |
Toggle_hidden |
i | <C-s> |
Toggle_all |
i | <A-y> |
Copy |
i | <S-CR> |
Create_from_prompt |
i | <bs> |
Backspace |
n | c |
Create |
n | r |
Rename |
n | m |
Move |
n | y |
Copy |
n | d |
Remove |
n | o |
Open |
n | g |
Goto_parent_dir |
n | e |
Goto_home_dir |
n | w |
Goto_cwd |
n | t |
Change_cwd |
n | f |
Toggle_browser |
n | h |
Toggle_hidden |
n | s |
Toggle_all |
A blazing fast and easy to configure Neovim statusline written in Lua.
VSCode theme for nvim
Plugin for calling lazygit from within neovim.
Mode | Keymap | Description |
---|---|---|
n | <leader>gs |
Open Laygit |
Super fast git decorations implemented purely in Lua.
Undotree visualizes the undo history and makes it easy to browse and switch between different undo branches.
Mode | Keymap | Description |
---|---|---|
n | <leader>u |
Open Undotree |
Easy comments
Mode | Keymap | Description |
---|---|---|
n | gcc |
Comment current line |
v | gc |
Comment selection |
It enhances some builtin textobjects, creates new ones, and allows user to create their own (like based on treesitter, and more). Supports dot-repeat, v:count, different search methods, consecutive application, and customization via Lua patterns or functions. Has builtins for brackets, quotes, function call, argument, tag, user prompt, and any punctuation/digit/whitespace character.
Key | Description |
---|---|
a | Parameter/argument object |
f | Function object |
c | Class object |
Example :
vaf : Select around a function
vic : Select inside a class
daa : Delete a parameter
Use treesitter to autoclose and autorename html tag.
Message plugin
Mode | Keymap | Description |
---|---|---|
n | <leader>snl |
Noice last message |
n | <leader>snh |
Noice history |
n | <leader>sna |
Noice all |
n | <C-F> |
Scroll forward |
n | <C-B> |
Scroll backward |
Notification manager
Mode | Keymap | Description |
---|---|---|
n | <leader>nd |
Delete all notifications |
Ui component library
If you've ever tried using the . command after a plugin map, you were likely disappointed to discover it only repeated the last native command inside that map, rather than the map as a whole. That disappointment ends today. Repeat.vim remaps . in a way that plugins can tap into it.
Surround.vim is all about "~": parentheses, brackets, quotes, XML tags, and more. The plugin provides mappings to easily delete, change and add such surroundings in pairs.
Pimp ui
Todo-comments is a lua plugin for Neovim 0.5 to highlight and search for todo comments like TODO, HACK, BUG in your code base.
Mode | Keymap | Description |
---|---|---|
n | ]t |
Next todo comment |
n | [t |
Previous todo comment |
n | <leader>st |
Todo |
n | <leader>sT |
Todo/Fix/Fixme |
The plugin is a rewrite of Christoomey's Vim Tmux Navigator, with a few added benefits
nvim-dap is a Debug Adapter Protocol client implementation for Neovim. nvim-dap allows you to:
Launch an application to debug Attach to running applications and debug them Set breakpoints and step through code Inspect the state of the application
A UI for nvim-dap which provides a good out of the box configuration.
Mode | Keymap | Description |
---|---|---|
n | <F1> |
Breakpoint condition |
n | <F2> |
Toggle breakpoint |
n | <F3> |
Continue |
n | <leader>dC |
Run to Cursor |
n | <leader>dg |
Go to line (No execute) |
n | <leader>di |
Step into |
n | <leader>dj |
Down |
n | <leader>dk |
Up |
n | <leader>dl |
Run last |
n | <leader>do |
Step out |
n | <leader>dO |
Step over |
n | <F4> |
Pause |
n | <leader>dr |
Toggle REPL |
n | <leader>ds |
Session |
n | <F5> |
Terminate |
n | <leader>dw |
Widgets |
This plugin adds virtual text support to nvim-dap. nvim-treesitter is used to find variable definitions.
nvim-dap adapter for vscode-js-debug.
To install it, you can run the following commands(mac and linux) :
git clone https://github.com/microsoft/vscode-js-debug ~/.dap-nvim/js-debug-adapter
cd ~/.dap-nvim/js-debug-adapter
npm install --legacy-peer-deps
npx gulp vsDebugServerBundle
mv dist out