Skip to content

Vim

Vim is a lightweight keyboard driven editor. It's the road to fly over the keyboard as it increases productivity and usability.

If you doubt between learning emacs or vim, try first with emacs through spacemacs

I am a power vim user for more than 10 years, and seeing what my friends do with emacs, I suggest you to learn it while keeping the vim movement.

Spacemacs is a preconfigured Emacs with those bindings and a lot of more stuff, but it's a good way to start.

It's not for everyone though, I tried to change to emacs but failed big as I'm already too used to the vim ecosystem. So take my advice lightly.

From now on whenever you read vim I'm actually refering to neovim check this.

Installation

The version of nvim released by Debian is too old, use the latest by downloading it directly from the releases page and unpacking it somewhere in your home and doing a link to the bin/nvim file somewhere in your $PATH.

# Install the dependencies

sudo apt-get install gcc g++ npm libc6-dev ripgrep

curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim.appimage
chmod u+x nvim.appimage
mv nvim.appimage ~/.local/bin/nvim

Configuration

Configuring vim is a never ending life experience. As such, it deserves it's own section

Troubleshooting

When you run into problems run :checkhealth to see if it rings a bell. If that doesn't help you maybe I've encountered your particular problem.

is not well mapped

It's because <c-i> is a synonym of <TAB>.

Resources

Learning

  • vim golf
  • Vim game tutorial: very funny and challenging, buuuuut at lvl 3 you have to pay :(.
  • PacVim: Pacman like vim game to learn.
  • Vimgenius: Increase your speed and improve your muscle memory with Vim Genius, a timed flashcard-style game designed to make you faster in Vim. It’s free and you don’t need to sign up. What are you waiting for?
  • Openvim: Interactive tutorial for vim.