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.
Test Your New Neovim Setup
To test your new configuration, simply run:
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
File Explorer Management Tree
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!