Skip to content

nathabonfim59/nvim-dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neovim Configuration

image

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.

Getting Started

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:

nvim

Configuration Structure

The configuration is organized into the following files and directories:

  • init.lua - Main entry point that loads all configuration modules and initializes lazy.nvim
  • lua/config/ - Core Neovim settings
    • options.lua - Neovim options and settings
    • keymaps.lua - Keybindings and shortcuts
    • autocmds.lua - Automatic commands
  • lua/plugins/ - Plugin configurations organized by category
    • init.lua - Main plugin specification file that imports all other plugin configs
    • ai.lua - AI-related plugins (Copilot, CopilotChat)
    • colorscheme.lua - Color scheme plugins
    • completion.lua - Autocompletion plugins
    • editing.lua - Editing utilities and enhancements
    • git.lua - Git integration plugins
    • lsp.lua - Language Server Protocol configurations
    • telescope.lua - Fuzzy finder configurations
    • treesitter.lua - Treesitter syntax highlighting
    • ui.lua - UI enhancements and components
    • utilities.lua - Various utility plugins

Keybindings

Note: The leader key is currently set to <Space>. You can change it by modifying the line vim.g.mapleader = " " in the init.lua file.

General Navigation

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

Diagnostics

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

Quickfix List Management

Keybinding Description
<leader>qD Delete current quickfix item
<leader>qd (Visual mode) Delete selected quickfix items

Code Context

Keybinding Description
<leader>ct Toggle code context display

Database

Keybinding Description
<leader>db Open database browser

Harpoon (File Navigation)

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

Git Integration

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)

JSON Filtering

Keybinding Description
<leader>ti Open current file in jid JSON filter (requires jid to be installed)

Telescope (Fuzzy Finder)

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

Plugins

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

Acknowledgements

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.

License

This project is licensed under the MIT License.

About

my personal Neovim configuration

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published