Giter Club home page Giter Club logo

nvim's Introduction

My NVIM configuration

This is my actual Neovim configuration.

Screenshots

Gitgutter + Linting + Inline warnings and errors

gitgutter_errors_linting

GitHub Copilot & Buffer Explorer:

copilot_bufferexplorer

Ack:

ack

Tagbar and Nerdtree:

tagbar_nerdtree

Radeon and Control+P:

radeon_controlp

Installation

Before you go with the installation, make sure you make a backup of your current Neovim configuration, go to your home folder and rename both .config/nvim/ to different name:

cd ~/.config/ && mv nvim nvim.backup

Let's install:

  1. Go to your home folder inside '.config/', clone this repository, and rename it to .vim:

    cd ~/.config/ && git clone https://github.com/juanmitaboada/nvim

  2. Install dependencies (it will request your sudo password):

    ~/.config/nvim/vim_install_plugins.sh

  3. Start Neovim and it should install all depedencies

  4. You may get errors with the YouCompleteMe plugin not loading, the error says: "The ycmd server SHUT DOWN (restart with :YcmRestartServer)". To solve this problem you must execute the install script from YCM inside the plugin folder. Follow the next steps:

    cd ~/.local/share/nvim/lazy/YouCompleteMe

    ./install.py --clang-completer

  5. If you are using a SNAP node version, then add this to your ~/.profile:

    PATH=/snap/node/current/bin:$PATH

  6. You probably want to setup Github Copilot, you will need a working 'node' installation in your computer and then launch the setup using:

    :Copilot setup

  7. You are ready to go

Shortcuts

There are plenty of shortcuts but, these are the basic ones: (default is and is "")

Shortcut Description Provided by
* Search forward word under the cursor vim
n Search next word using the same criteria vim
Shift+n Search the previous word using the same criteria vim
# Search backward word under the cursor vim
K Search for the word inside man vim
gd Go to the first definition of the element under the cursor vim
F3 Tagbar panel (on/off) tagbar
F4 NERD Tree (on/off) nerdtree
F8 Save the current session on the current folder vim
Ctrl+J Beautify the buffer using JSON format vim
Alt+up Show all buffers BufferExplorer
Alt+down Close current buffer vim
Alt+left Move to previous buffer vim
Alt+right Move to next buffer vim
Ctrl+up Move current line/block up vim
Ctrl+down Move current line/block down vim
Ctrl+right Indent current line/block one level vim
Ctrl+left Unindent current line/block one level vim
Enter Go to function definition ctags
Backspace Go back from function definition ctags
-
[a Go to previous error ALE
]a Go to next error ALE
[A Go to first error ALE
]A Go to last error ALE
-
:Ack colors Search everywhere in the project for the word "colors" Ack
Ctrl+P colors Search for files with the word "colors" in all the project ctrlp
ff Find files Telescope
fg Fidd live grep Telescope
fb Find buffers Telescope
fh Find help tags Telescope
- -
:TagsGenerate! Will generate one or more tags files vim-tags
-
gc{motion} Comment or uncomment lines that {motion} moves over Commentary
{Visual}gc Comment or uncomment the highlighted lines Commentary
gc? Comment or uncomment [?=count] lines. (Example: gc4) Commentary
gcu gcgc Uncomment the current and adjacent commented lines
:7,17Commentary Comment/Uncomment from line 7 to line 17 both included Commentary
-
Copilot
+] Next suggestion Copilot
+[ Previous suggestion Copilot
+l Accept listed suggestion Copilot
+ Shows a PANEL with suggestions Copilot
gr PANEL: refresh Copilot
PANEL: to accept the selected suggestion Copilot
-
Copilot Chat Copy code with "y" and then:
cce Explain code Copilot Chat
cct Generate tests Copilot Chat

Plugins in use

Plugin name Description
Ack Search tool with an enhanced results list
Airline Lean & mean status/tabline for Vim that's light as air
ALE ALE (Asynchronous Lint Engine) is a plugin providing linting (sytax checking and semantic errors)
Arduino Snippets Snippets files for Arduino
Arduino Syntax Syntax file and get syntax highlighting for Arduino functions
Black Uncompromising Python code formatter
Bufexplorer Quickly and easily switches between buffers
CCLS Ccls, which originates from cquery, is a C/C++/Objective-C language server
CCTree Plugin generates a symbol dependency tree (aka call tree, call graph) in real-time
Clang Use of clang to parse and complete C/C++ source files
Clang Format Format your C family code
Commentary Comment stuff out
Copilot Original GitHub Copilot support
Copilot Zbirenbaum Improved GitHub Copilot support
Copilot Chat GitHub Copilot Chat support
CtrlP Full path fuzzy file, buffer, mru, tag, ... finder
DelimitMate This plug-in provides automatic closing of quotes, parentheses, brackets, etc.
Dispatch Leverage the power of Vim's compiler plugins without being bound by synchronicity
Gitgutter Shows a git diff in the sign column
ISort Sort python imports
Javascript Syntax highlighting and improved indentation for JavaScript
Lazy A moren plugin manager for Neovim
LSP Async Language Server Protocol
Markdown Syntax highlighting, matching rules and mappings for the original Markdown and extensions
NerdTree File system explorer
Platform.io This is a collection of helper commands to ease the use of PlatformIO
Platform.io Neomake Easily configure neomake to recognize your PlatformIO project's include path
Plenary All the lua functions I don't want to write twice
Radon Show the cyclomatic complexity of Python code (we will use a slightly modified version at juanmitaboada/vim-radon)
Repeat Remaps . in a way that plugins can tap into it
Ripgrep A line-oriented search tool that recursively searches the current directory for a regex pattern
Rust Rust file detection, syntax highlighting, formatting, Syntastic integration, and more
Signify Uses the sign column to indicate added, modified and removed lines in a file that is managed by a VCS
Shellcheck Vim wrapper for ShellCheck, a static analysis tool for shell scripts
Snippets Snippets files for various programming languages
Surround Is all about "surroundings": parentheses, brackets, quotes, XML tags, and more
Tagbar Provides an easy way to browse the tags of the current file and get an overview of its structure
Tags The Ctags generator
Telescope A highly extendable fuzzy finder
Typescript Syntax file and other settings for TypeScript
Unimparired Collection of handy keymappings designed to improve efficency and accesibiilty within the editor
YouCompleteMe A code-completion engine
Zig File detection and syntax highlighting for the zig programming language

Author

Juanmi Taboada

nvim's People

Contributors

juanmitaboada avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.