Snippet from Cerebras Code Monitor
This repository contains my personal Neovim configuration, organized with lazy.nvim plugin manager. The configuration is written in Lua and structured for maintainability and extensibility.
To use this configuration, clone this repository into your Neovim configuration directory. On a Unix-like system, this directory is usually ~/.config/nvim/.
git clone https://github.com/nathabonfim59/nvim-dotfiles ~/.config/nvim/After cloning, start Neovim and lazy.nvim will automatically install all plugins:
nvimThe configuration is organized into the following files and directories:
init.lua- Main entry point that loads all configuration modules and initializes lazy.nvimlua/config/- Core Neovim settingsoptions.lua- Neovim options and settingskeymaps.lua- Keybindings and shortcutsautocmds.lua- Automatic commands
lua/plugins/- Plugin configurations organized by categoryinit.lua- Main plugin specification file that imports all other plugin configsai.lua- AI-related plugins (Copilot, CopilotChat)colorscheme.lua- Color scheme pluginscompletion.lua- Autocompletion pluginsediting.lua- Editing utilities and enhancementsgit.lua- Git integration pluginslsp.lua- Language Server Protocol configurationstelescope.lua- Fuzzy finder configurationstreesitter.lua- Treesitter syntax highlightingui.lua- UI enhancements and componentsutilities.lua- Various utility plugins
Note: The leader key is currently set to
<Space>. You can change it by modifying the linevim.g.mapleader = " "in theinit.luafile.
| Keybinding | Description |
|---|---|
<Esc> (Normal mode) |
Clear search highlighting |
<C-h> |
Move focus to the left window |
<C-l> |
Move focus to the right window |
<C-j> |
Move focus to the lower window |
<C-k> |
Move focus to the upper window |
<Esc><Esc> (Terminal mode) |
Exit terminal mode |
| Keybinding | Description |
|---|---|
[d |
Go to previous diagnostic message |
]d |
Go to next diagnostic message |
<leader>e |
Show diagnostic error messages |
<leader>qd |
Open diagnostic quickfix list |
| Keybinding | Description |
|---|---|
<leader>qD |
Delete current quickfix item |
<leader>qd (Visual mode) |
Delete selected quickfix items |
| Keybinding | Description |
|---|---|
<leader>ct |
Toggle code context display |
| Keybinding | Description |
|---|---|
<leader>db |
Open database browser |
| Keybinding | Description |
|---|---|
<leader>hh |
Toggle Harpoon menu |
<leader>ha |
Add current file to Harpoon |
<leader>hj |
Navigate to next Harpoon file |
<leader>hk |
Navigate to previous Harpoon file |
| Keybinding | Description |
|---|---|
<leader>gs |
Stage current hunk |
<leader>gp |
Preview current hunk |
<leader>gr |
Reset current hunk |
<leader>gj |
Go to next hunk |
<leader>gk |
Go to previous hunk |
<leader>gl |
Blame current line |
<leader>gg |
Open LazyGit terminal interface (requires lazygit to be installed) |
| Keybinding | Description |
|---|---|
<leader>ti |
Open current file in jid JSON filter (requires jid to be installed) |
| Keybinding | Description |
|---|---|
<leader>sh |
Search help tags |
<leader>sk |
Search keymaps |
<leader>sf |
Search files |
<leader>ss |
Search select Telescope |
<leader>sw |
Search current word |
<leader>sg |
Search by grep |
<leader>sd |
Search diagnostics |
<leader>sr |
Search resume |
<leader>s. |
Search recent files |
<leader>st |
Two-step grep (select directory then search) |
<leader><leader> |
Find existing buffers |
<leader>/ |
Fuzzily search in current buffer |
<leader>s/ |
Search in open files |
<leader>sn |
Search Neovim configuration files |
| Plugin | Description | Link |
|---|---|---|
| vim-sleuth | Detect tabstop and shiftwidth automatically | GitHub |
| Comment.nvim | "gc" to comment visual regions/lines | GitHub |
| gitsigns.nvim | Adds git related signs to the gutter, as well as utilities for managing changes | GitHub |
| neogit | A Magit clone for Neovim | GitHub |
| which-key.nvim | Useful plugin to show you pending keybinds | GitHub |
| lazy.nvim | Plugin manager for Neovim | GitHub |
| telescope.nvim | Fuzzy Finder (files, lsp, etc) | GitHub |
| nvim-lspconfig | LSP Configuration & Plugins | GitHub |
| conform.nvim | Autoformat | GitHub |
| nvim-cmp | Autocompletion | GitHub |
| copilot.lua | Github Copilot | GitHub |
| CopilotChat.nvim | Github Copilot Chat | GitHub |
| undotree | Undo tree | GitHub |
| monokai-pro.nvim | Monokai Pro colorscheme | GitHub |
| todo-comments.nvim | Highlight todo, notes, etc in comments | GitHub |
| mini.nvim | Collection of various small independent plugins/modules | GitHub |
| nvim-treesitter | Highlight, edit, and navigate code | GitHub |
I would like to express my gratitude to the creators and maintainers of all the plugins used in this configuration. Your hard work and dedication have greatly enhanced the functionality and user experience of Neovim.
A special thanks to kickstart.nvim for providing a solid foundation for this configuration.
This project is licensed under the MIT License.