Skip to content

gitalexcampos/MyNvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MyNvim

Descrição da imagem 1 Descrição da imagem 2

What is MyNvim?

MyNvim is a comprehensive and simple configuration setup for Neovim, designed to provide an optimized and perfect editing experience.

How to Install

Linux

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 ./

Install dependencies

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:

nvim

Features

  • Comprehensive plugin management
  • Enhanced performance settings
  • Custom keybindings
  • Improved user interface

Keybindings Overview

Number Management

Shortcut Functionality
(Espace) + k Increment a number
(Espace) + j Decrement a number
(Espace) + + Increment a number
(Espace) + - Decrement a number

Tab Management

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

Window Management

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

File Management

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

Session Management

Shortcut Functionality
(Espace) + wr Restore session for cwd
(Espace) + ws Save session for auto session root dir

Git Management

Shortcut Functionality
(Espace) + g Open LazyGit

Miscellaneous

Shortcut Functionality
(Espace) + sm Maximize/minimize a split

Copy Selection

Shortcut Functionality
CTRL + c Copy selection

Plugins installed

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.

LSPs installed

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.

Listers installed

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.

Acknowledgments

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!

About

Configs for perfect nvim setup

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages