
Learning the vi and Vim Editors is a tutorial book for the vi and vim text editors written by Arnold Robbins, Elbert Hannah, and Linda Lamb and published by O'Reilly Media. The book is in its 8th edition. The book features a tarsier on the cover, an image which was also used on the cover of O'Reilly's Unix in a Nutshell and has been incorporated into O'Reilly Media. When questioned about the animal choice, publisher Tim O'Reilly described the tarsier as looking "like somebody who had been a [sic] text editor for too long."
The key is to almost always be in command mode. I am only in insert mode briefly to add or change text. The power of Vim comes from its terse command language, so you want to be in command mode most of the time. I find myself reflexively hitting Esc or Ctrl-[ in other programs because I have drilled this into my mind.
> I just can't see where this "efficiency" is supposed to be at all.
I did not see the efficiency myself until I witnessed a Vim master do some extremely complicated bit of text editing in seconds. I think that most people will not see the value of Vim until they witness something like that.
> If you tell me I'm supposed to spend 4 weeks reading VimTutor to gain efficiency in Vim, I could probably become more efficient faster in VS Code by learning all of its keyboard shortcuts. Btw Ctrl+/ comments the current line.
I personally found Vimtutor boring, if I recall correctly, so I did not use it to learn Vim. I just started to use Vim for all of my coding for several weeks during a slow period at work. I had a printout [1] with all of the keys next to my monitor for several weeks. That was necessary to get muscle memory for every action. I also read a lot of "Learning the vi and Vim Editors". That helps you get into the mindset about how to use the Vim command language. My point is that there are many ways to learn Vim and you can pick which way works best for yourself.
[1] http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial...
I originally never wanted to use Vim but had to use it often at work (especially in the server room), so I got used to mechanically entering and exiting insert mode as many people do. That was the extent of my knowledge, but then during a slow period at work I took the time to learn Vim thoroughly by reading "Learning the vi and Vim Editors" from O'Reilly. It changed my view of VI and Vim to the point that (as I had said) I now think of them as command-based editors rather than modal editors. Once you realize that each key press is a command in a very terse language, you can see the power and expressiveness of the language, but it takes some practice and time to build up your intuition.
For example, I often find myself typing something like "79a-ESC" or "79i-ESC" to put in a horizontal rule in text or Markdown documents. To somebody thinking modally this command makes little sense, since I leave insert mode immediately after typing a single character! But from a command language perspective it makes total sense, since I merely instruct Vim to append 79 dashes to the current line. Once you see that it's a language, you stay in command "mode" much more, since that is where the power is.
I thought maybe the agenda was kinda bloated too especially since this is just the Front End Development. If you add Back end development you would probably be looking at 2 years to complete. Luckily my bootcamp is free and you can take all the time you need and only move on to the next topic when you feel comfortable with the current topic.
Vim - Here is what I have for vim and surprisingly enough is just enough to be proficient in vim.
3. Learn vim a. Do vimtutor b. Read Learning the vi and Vim Editors, Seventh Edition c. Up and Running with vi d. Venture Into Vim e. OReilly - Mastering Vim f. Vim for Advanced Users g. Learning vim plugins
Git - I use two video tutorials that will make anyone an intermediate person within 2 weeks.
HTML - We do about 12 websites CSS - We learn almost everything about CSS. It does take about a month just to do the videos and books. Javascript - We learn it in depth with three of the top books and several videos. This is where most of the time is spent. We do not move on to JQuery until we are proficient in javascript so we do not use JQuery as a crutch.
Bonus - We have the students sign up for HN, Reddit, and StackOverflow to teach them how to troubleshoot problems.
Im running out of room here but thank you so much for your input.
I also recommend the O'Reilly "Learning the vi and vim editors" book, http://shop.oreilly.com/product/9780596529833.do and my own course on vi basics, http://www.verticalsysadmin.com/vi.htm