DEV Community

Cover image for Vim Resources: A Hacker's Guide
PythonBasics
PythonBasics

Posted on

Vim Resources: A Hacker's Guide

I have discovered and used vim as my primary text editor for the past few years.

Vim, an acronym meaning Vi IMproved, is a ubiquitous text editor available on nearly every system imaginable.

Even in the most arcane corners of life, you will find a version of vim. From the data center to the local science lab to the classroom to the server farm, there is probably a version of vim running.

Vim is a text editor that operates in the console. It is very popular among programmers, and is particularly well-suited to editing source code.

vim comic

Vim is often used by terminal users. But it can also be used inside modern IDEs (vim mode) and there are graphical versions as well (gVim)

In this post, I'm going to lay out a Hacker's Guide to Vim. This will be a collection of the best "Vim resources" that I have come across.

Resources

Vim is a very complex tool with hundreds of commands and thousands of plugins that can be used to extend Vim and add functionality. So where do you start?

You can learn vim by exercise. This site offers interactive exercises. Vim is one of the programs you learn by doing.

Of course, the official vim website is a good resource as well. It has some documentation and lets you download vim. If you use Linux vim or vi is probably already installed, the same for Mac OS X users.

How to setup vim for Python. I find it quite useful, as I write quite a lot of Python code. Of course you can write Python code in any editor you want, I find for small scripts it's very practical to fire up vim.

An introduction to vim. This article shows you the basics of vim. How to open a terminal, vim and how to quit (ESC ZQ).

Settings up vim for javascript. If you write a lot of JS code, you can use vim. You can also use vim-mode inside visual studio code or phpstorm.

A cheatsheet for vim. Shows an overview for the vim commands. While a cheat sheet is useful, i think it's better to practice a lot with the commands.

A list of vim plugins. Personally I use NerdTree quite a bit.

Do you know any others? Which plugins do you use?

Top comments (0)