MyNvim is a comprehensive and simple configuration setup for Neovim, designed to provide an optimized and perfect editing experience.
Before installing, run the following commands to remove any old Neovim configurations:
rm -rf ~/.local/share/nvim/*
rm -rf ~/.local/state/nvim/*
rm -rf ~/.config/nvim/*
rm -rf ~/.config/nvim/.*
mkdir ~/.config/nvim
Next, install the new configuration:
cd ~/.config/nvim
git clone https://github.com/gitalexcampos/MyNvim.git ./
sudo pacman -S neovim npm python unzip ttf-nerd-fonts-symbols ripgrep
If you use NixOs, check out my Dotfiles for Nixos.
To test your new configuration, simply run:
nvim
- Comprehensive plugin management
- Enhanced performance settings
- Custom keybindings
- Improved user interface
Shortcut | Functionality |
---|---|
(Espace) + k |
Increment a number |
(Espace) + j |
Decrement a number |
(Espace) + + |
Increment a number |
(Espace) + - |
Decrement a number |
Shortcut | Functionality |
---|---|
(Shift) + n |
Create new tab |
(Shift) + Right |
Move current tab to right |
(Shift) + Left |
Move current tab to left |
(Shift) + l |
Go to next tab |
(Shift) + h |
Go to previous tab |
(Shift) + x |
Close current tab |
(Shift) + c |
Open current buffer in new tab |
Shortcut | Functionality |
---|---|
(Ctrl) + = |
Make splits equal size |
(Ctrl) + x |
Close current split |
| |
Make a Vsplit |
_ |
Make a Hsplit |
(Ctrl) + k |
Move cursor to up window |
(Ctrl) + j |
Move cursor to down windows |
(Ctrl) + l |
Move cursor to left window |
(Ctrl) + h |
Move cursor to right window |
(Ctrl) + Up |
Resize window to up |
(Ctrl) + Down |
Resize windows to down |
(Ctrl) + Left |
Resize window to left |
(Ctrl) + Right |
Resize window to right |
Shortcut | Functionality |
---|---|
(Espace) + ff |
Fuzzy find files in cwd |
(Espace) + fr |
Fuzzy find recent files |
(Espace) + fs |
Find string in cwd |
(Espace) + fc |
Find string under cursor in cwd |
Shortcut | Functionality |
---|---|
(Espace) + e |
Toggle file explorer |
Shortcut | Functionality |
---|---|
(Espace) + wr |
Restore session for cwd |
(Espace) + ws |
Save session for auto session root dir |
Shortcut | Functionality |
---|---|
(Espace) + g |
Open LazyGit |
Shortcut | Functionality |
---|---|
(Espace) + sm |
Maximize/minimize a split |
Shortcut | Functionality |
---|---|
CTRL + c |
Copy selection |
Plugin | Description |
---|---|
alpha-nvim | A dashboard for Neovim that provides a better startup experience. |
auto-session | Automatically saves and restores your sessions, making workflow seamless. |
nvim-autopairs | Automatically closes pairs of characters like brackets and quotes. |
bufferline.nvim | A buffer line for Neovim that provides an intuitive way to navigate buffers. |
catppuccin | A cozy and aesthetic color scheme for Neovim. |
dressing.nvim | Enhance Neovim's UI for select and input dialogs. |
conform.nvim | A framework for automatic formatting of code in Neovim. |
indent-blankline.nvim | Adds indentation guides to Neovim to improve code readability. |
plenary.nvim | A Lua library for Neovim that provides useful functions and utilities. |
lazygit.nvim | Integrates LazyGit with Neovim for an enhanced Git experience. |
nvim-lint | Provides linting support for various file types in Neovim. |
lualine.nvim | A fast and easy-to-configure status line plugin for Neovim. |
nvim-cmp | A completion plugin for Neovim that provides auto-completion features. |
nvim-tree.lua | A file explorer for Neovim that allows easy navigation and management of files. |
nvim-surround | Easily add, remove, or change surrounding characters in Neovim. |
telescope.nvim | A fuzzy finder for Neovim that helps you search and filter files and content. |
nvim-treesitter | Provides better syntax highlighting and code navigation through tree-sitter integration. |
vim-maximizer | Easily maximize and restore windows in Neovim for better workflow. |
which-key.nvim | Displays available keybindings in a popup to help discover shortcuts. |
mason.nvim | A package manager for Neovim that simplifies installing and managing external tools. |
nvim-lspconfig | Quickstart configurations for the Neovim LSP client. |
LSP | Description |
---|---|
html | Language server for HTML, providing features like validation and autocomplete. |
cssls | Language server for CSS, offering syntax highlighting and intellisense. |
tailwindcss | Language server for Tailwind CSS, assisting with utility class suggestions. |
svelte | Language server for Svelte, providing support for Svelte files and features. |
lua_ls | Language server for Lua, enabling autocompletion and error checking. |
graphql | Language server for GraphQL, offering schema support and query validation. |
emmet_ls | Language server for Emmet, providing shortcuts for faster HTML and CSS coding. |
prismals | Language server for Prisma, enhancing development with database schemas. |
pyright | Language server for Python, offering type checking and other features. |
clangd | Language server for C/C++, providing code completion and navigation. |
yamlls | Language server for YAML, enabling validation and autocomplete for YAML files. |
jsonls | Language server for JSON, offering schema validation and autocompletion. |
Linter | Description |
---|---|
prettier | A code formatter that enforces a consistent style across various languages. |
stylua | A formatter for Lua code, ensuring consistent formatting. |
isort | A Python utility for sorting imports in a consistent order. |
black | A popular opinionated Python code formatter that enforces PEP 8 compliance. |
pylint | A static code analysis tool for Python, providing error checking and code quality checks. |
eslint_d | A fast, extensible linter for JavaScript and TypeScript code, ensuring code quality. |
cpplint | A linter for C and C++ code, enforcing Google style guidelines. |
shellcheck | A linter for shell scripts that provides warnings and suggestions for best practices. |
yamllint | A linter for YAML files, checking for syntax errors and best practices. |
jsonlint | A linter for JSON files that validates and formats JSON code. |
This project is based on the setup guide by Josean. Thank you for the valuable insights!
Feel free to explore and customize it further to suit your needs!