markdown guide

I've been using vim-mode-plus in Atom as a way to get familiar with it. If there's something I don't know how to do in vim, I can just go into insert mode (i), then I'm back in the normal text editing mode.

If I catch myself using my mouse to do something, or am doing anything that feels repetitive, I'll stop for a minute to learn how to do it smarter in Vim, then try to remember it and incorporate it into my workflow.


I did the same thing for about two weeks before switching to actual vim. It really helped me ease into things with the crutch of Atom still there.


Esc, :q!

Escape gets you out of insert mode if you are currently in it. :q! quits without saving. The first thing you need to know about any program (which takes over the screen) is how to exit.


I've been using vim for a few months now and it did take me a few weeks before I can start working on it. So the following tips/steps are my suggestions.

  1. Go through a tutorial: Any forms of tutorial is a nice start. My favorite is vimtutor which is already included in vim. Other Worthy mentions are openvim and vim-adventures
  2. Download a vim-mode extension for your current editor/IDE. This will help you slowly ease into vim's workflow. The plus side to this is that you can always turn the extension off if you must get something done.
  3. Once you are fairly efficient, you'll start up vim and quickly learn that the raw naked vim is not fun to use. The great thing about being a vim user is that you get to customize this editor to any way you like via .vimrc. I'd recommend you pick one vim plug manager(I personally love vim-plug) and the following two vim extension as a must-have.
  4. That's kind of it. You'll start to seek out the ideal plug-in that you'll want and learn more about vim as you go. You may even make a big leap and switch to a vim's variant like MacVim or NeoVim.

A few don'ts

  • Don't completely switch to vim without basic knowledge, it can negatively impact your efficiency.
  • Don't just take a dotfile online and use it without understanding what it contains. It will be overwhelming and certain configuration may not suits you.

You should start with vimtutor. Probably several times.

Then fire up vim and type :help. The first page will teach you to navigate help. Find user_toc.txt and start reading. After that you should be able to decide how to proceed on your own.

BTW, "Practical Vim" by Drew Neil is a great book.


I really think you can get by in vim with almost no previous knowledge about it. I'd say the very very basic things that will make it usable are

i = In normal mode, go to insert mode.
Esc = In insert mode, go to normal mode.

These two alone mean you can use vim almost like a normal editor. If you don't know how to do something the vim way, do it the way you'd do it in any other editor. If you really want to do it exactly like a normal editor, you can do :set mouse=a, but that will probably hamper your vim development because you'll rely on the mouse instead of feeling the pain of using the arrow keys and thinking "there must be a better way." That pain is useful to help you learn vim.

And of course, you need:

:q = quit
:w = save
:wq or :x = save and quit
:q! = force quit without saving

As all the memes suggest, vim newcomers sometimes have a hard time exiting vim...

  1. Learn how to use the help command: :help or :h. So valuable, often forgotten. E.g. Type :h :q + enter to learn about the quit command. Helpful: Learn to use help
  2. Don’t give up. I tried to learn vim 5 times before it stuck.

Another helpful resource for getting started: vimgifs


I feel like a good answer depends a lot on your end goal.

VIM is my go-to command line text editor when I want to make minor updates to files on a server I'm maintaining. In that case, as someone else mentioned, understanding the difference between insert mode and command mode and how to quit is the very first thing you need to do (!

If you want it to be a replacement for an IDE or a text editor like Atom, though, you might have a long road ahead of you. Just quitting VIM is initially not intuitive; it doesn't get any better the more complex you go, in my experience!


My Notes

Vim |
Github |
Github Issues |
Github Pulls Requests |
Github Commits Activity |
Browse all Plugins |
Recent Script Update |
Vim plugins sourced from GitHub |
Trending Vim script repositories on GitHub today |
Collaborative list of awesome vim resources |
Solarized Theme |
Vim Colors |
Distribution on Github
By most stars |
By recently updated |
Durcheinandr |
Nop Wibben |
Freblogg |
Daily Vim Tumblr |
Daily Vim Blogspot |
Yannesposito |
Tilvim |
Usevim |
Wikia |
Tips and Tricks |
Vim Galore |
Be Vimmer |
Vim Tips |
Wilkox |
Konstad |
Dougblack |
Map Keys |
Vim Kurzeinführung |
Vim Keyboard Shortcuts Cheatsheet |
Cheat Sheets Matching "Vim" |
Cheat Sheet on Duckduckgo | |
Vim Quick Reference Guide |
A good Vimrc |
Google Vim Plugins |


All you need to know is that Emacs is better.

/me ducks


Don't forget to hit Insert and Esc

:x is close and save


Used Vim for a long time. And Vim Mode on phpstorm, kate, firefox ... I switched to Emacs ( 07/2017) and use Evil-Mode.


Search and replace is pretty easy in vim.

Then at the :


Classic DEV Post from Apr 29

Are we pretentious and arrogant?

Do you think that we, as developers, have a slighly tendency to become quite selfish because of our so specific-skills?

Rafael Paulo profile image