NeoVim

Install my configs with the following two commands

1
2
curl -LO https://colaianni.us/vimitup.sh
sh vimitup.sh

This is meant to be an introduction and quick reference sheet for my NeoVim configs. While it is specific for my configs, all bindings before the LSP Features section work in any vim. This documents assumes you have completed and understand the nvim tutor (launch nvim and type :Tutor followed by enter to run).

Finding help

Opening the nvim help page

Movement

Text Manipulation

<!– All bindings from here on are specific for my config –>

LSP Features

The Language Server Protocol is the means by which an editor talks to a separate running process on your machine who’s sole job is to interpret code and provide help while editing. This is the same way vsc*de or any other modern editor handles code. These bindings are only available when a language server is running and attached to NeoVim. Check this with :LspInfo. The servers for C, C++, Rust BTW, Lua, Python, and Java are configured but must be installed via the system package manager to work.

I higly recommend you open up some code and try these out as you read (try creating a new C file with nvim tmp.c)

nvim-cmp, Harpoon, and Undotree

nvim-cmp is the completion tool used in tandem with the LS. As you code you will see the pop-up with suggestions

Harpoon is a way to easily manage multiple files and terminals open in NeoVim.

Undotree lets you visualize your undo history, and switch between “branches” of changes. Imagine git but a commit for every modification

Windows

Two windows open in Vim

Windows in vim allow you to have multiple files open at once, or a file and a terminal

You can navigate between windows with CTRL-h, CTRL-j, CTRL-k, and CTRL-l

Tabs

Two tabs open in Vim

Vim tabs are like workspaces in modern IDEs. They allow you to have multiple files open with different window layouts

Folding

Demo of nvim volds

Help is available with :help fold-commands and below is a summary of key bindings

Vim Tricks for Advanced Gamers (miscellaneous)

Previous:
Image Indexer
Next:
Cyber Lab