VIM Notes
VIM is a welcome return to the keyboard and departure from the annoyances with slow mousing around.
While there are many nice plugins avilable to Vim and especally for NeoVIM I would recomend still getting used to it plain without plugins first so that you get used to the core commands and know what you really want out of a plugin. If you jump right into using plugins you will likely end up installing many plugins that you don't want or need.
Quick Reference
- Main Vim Quick Reference Sheet
- Marks in Vim
- Working with multiple files
- Using the global command
- Vim Commands while in insert mode
Further Information
Configuration setups
kickstart — quickly set up your own configuration
- Good easy to configure start to get nvim configured as a good IDE
LunarVim
- LunarVim -- opinionated setup for neovim that installs in a seprate confg space from neovim
LazyVim
- LazyVim -- opinionated setup for neovim that is easy to customize
AstroNvim
- AstroNvim -- opinionated setup for neovim
Mini.nvim
- Mini -- collection of 40+ Lua modules
NvChad
Popular NeoVIM configuration install- main website
- video on setting up NeoVim with NvChad
- Quick Reference Sheet
- using Marks in VIM to move around quickly to saved locations
- using VIM to move around quickly using builtin jumps
- Working with files and multiple files
- Marks in VIM
- Jumps in VIM
- Common plugins to vim
- Lua for NeoVIM
- LunarVim: a great quick and easy to configure setup with modern plugins.
- VIMWIKI: a nice easy to use personal wiki format for notes etc that work inside VIM
- great article on moving quickly in VIM
- nice cheatsheet
- collection of VIM plugins
lua information
lua is an awesome open language that is used with NeoVIM as well as other software.
Lua is a lightweight, high-level, multi-paradigm programming language primarily designed for embedding in applications. Originating in 1993 from Brazil, Lua was developed by Roberto Ierusalimschy, Luiz Henrique de Figueiredo, and Waldemar Celes at the Pontifical Catholic University of Rio de Janeiro. Its design emphasizes simplicity, speed, and portability, making it suitable for a variety of applications, particularly in game development and embedded systems. Lua features a minimalistic core with a powerful table data structure that serves as the foundation for arrays and objects. It supports first-class functions, garbage collection, and coroutines, allowing for flexible programming paradigms including procedural and functional styles. Lua's compact size—its interpreter is around 247 kB—contributes to its widespread adoption in environments where resource efficiency is crucial.