The classic : blogpost about vim. Every linuxian will write it. So here's my ode to the god of text editors.
First : you need to figure yourself that using a good text editor is a crucial thing. You must know and understand how your OS works. If you use a decent OS (linux), you probably know that almost anything can be done by editing text files. A lot of OS try to follow the famous concept : “Anything is a file”. And it's not completely true (except in Plan9/Inferno) but it's almost ther. So choosing a good text editor is the mother of debugging/tweaking/setting-up/troubleshot your OS.
Now that you are convinced that choosing a text editor is important (aren't you ?)(no, nano isn't a decent text editor). Now come the difficult part : which one to choose ? When you use your computer at least height hours a day and it'll be the same for many years to come, it's not completely absurd to consider investing time learning how to use a text editor. It's an investment with high returns if you learn how to be 10% more proficient… So now that all my capitalists readers are 100% convinced that choosing an editor with a steep learning curve can be a good thing we can start.
Vim is a tool which mimic and enhance the good old vi, the 40 years old text editor. It's nearly half a century back in time ! If it's still used it maybe because it's a well thought tools, don't you think ? Efficient, fast, intuitive (yes it is ! Believe me !). And one of it's best feature is it's ability to disappoint people when they try to close it.
Vim is a text editor whereas emacs (it's nemesis) is a complete userland (soon emacs/linux will replace gnu/linux even lennux). Second thing to know is that it is modal. It uses many modes. The first you'll encounter is the normal mode where you can launch commands. The one you'll be looking for is the insert mode where you can input text (a good feature for a text editor). There are some other modes… maybe later. Vim devs identified that when you edit text, inputing some text isn't the only action you'll want. And when travelling in your new vim world, you'll adhere to their vision. It's gonna take some time to learn and understand but it will be worthy. Everyday you'll learn a new trick or two. Even after some years of practice. It's an art. You won't be an accomplished vim-golfer in a week-end nor a month. You have to adopt new habits. But what you'll learn in vim will be usable in many more softwares (less, pentadactyl, …). Vim inspires many devs.
I'll now finish this post and start a new how on "the basic survival guide in vim". And maybe some more advanced posts. Let's go to another post. Two posts the same day : the maya apocalypse ? The Armageddon ? the Ragnarok ?