VIM from novice to professional by: Derek Wyatt #Part 1

  • description

    This is a Vim Introduction to be watched by those looking to start using Vim or are curious about what it can do, or whatever.

  • Basic Movement (Screencast 1)


    Slow movement – Character-wise movements with the home keys: h, j, k and l. The lesson here: DON'T use the arrow keys.

    Line terminus – Beginning of line and end of line movements: 0 and $.

    The different types of "words"

    • words – represent a sequence of characters in the 'iskeyword' class.
    • WORDs – represent a sequence of characters separated by whitespace.
    • Run :help word and :help WORD

    Forward word movement – We learn to move foward to the next WORD and word both to the beginning of words and the end of words. Commands are w, W, e and E.

    Backward word movement – And we learn to move backward to the previous WORD and word both to the beginning of words and the end of words. Commands are b, B, ge and gE.

    "To the Character" movement – The great, super great commands f, F, t, T and ; that let you move to specific characters within a line.

  • Basic Movement (Screencast 2)


    Paging – Moving the page up and down by full pages with CTRL-f and CTRL-b and by half pages with CTRL-u and CTRL-d.

    Cursor jumping to screen parts – Moving to the head, middle and last line of a screen with H, M and L respectively.

    Top and Bottom of the buffer – Jumping to the top line of the entire buffer with gg and the bottom of the entire buffer with G.

    Jumping to a particular line – Get to a specific line number with <number>G.

    Easy regular expression searching – The famous ‘*‘ and ‘#‘ keys for jumping by bounded regular expression.

    Manual regular expression searching – Using ‘/‘ and ‘?‘ to manually search.

  • Basic Movement (Screencast 3)


    The last in the BASIC Movement series. Here we cover some bigger movements - jumps. This is the end of the videos on this series but it's not the end of motion in Vim.

    Start of Function or Class Jumping – Moving to the beginning of functions and classes backwards through the buffer with [[ and the beginning of functions and classes forwards through the buffer with ]] (assuming you code properly and put braces for these things in column 0 (hanging brace?? Come on! :D).

    End of Function or Class Jumping – Forwards to the end of a function or class definition with ][ and backwards to the end of a function or class definition with [].

    Jumping to Matching Braces – The fantastic % characters.

    Marks – Basic mark functionality and how it works with m, ' and `.

  • Basic Editing (Screencast 1)


    Starting an Insert – The main keys for getting into Insert Mode are i and I.

    Starting an Insert with a New Line – Another way to get into Insert Mode is with o and O for creating new lines.

    Starting an Insert with Append – You can also get into Insert Mode with a and A.

    Replacing Characters – You can replace characters (like turning off “insert” in Notepad) with r and R.

    Changing Things – You can change characters or motion related things using c and C.

    Deleting Characters – Delete a single character under the cursor with x and before the cursor with X.

    Deleting Lines – Delete a single line with dd.

    Repeat – One of the absolutely core and biggest features of Vi is something very simple: the ‘.‘ operator. Repeat the last command by hitting ‘.‘.

  • Basic Editing (Screencast 2)


    Yanking – Yanking is “copying” in the “lousy editor” vernacular and it’s done with the y key and Y key.

    Putting – Putting is the inverse of yanking, and once you’ve yanked, you can put with the p key and P key.

    Joining – You can join lines with the J key but it will put a space at the join position, so if you don’t want that to happen you need to use gJ.

    Visual Mode – We cover the three Visual Modes using the v key for character-wise visual selection, V for line-wise selection and CTRL-v for block-mode selection. The all-important gv sequence is also covered to help you re-select an area you just selected.

  • Working with Many Files (Screencast 1)


    We're going to start filling in a gaping whole in the videos thus far: Working with Many Files. This is going to be the absolute basic methods for working with multiple files in one of Vim's most important concept - buffers.

    Listing Buffers – Good ol’ ls is your friend here.

    Switching Buffers – The buffer command gets you there and it can be used a ton of different ways.

    Buffer deletion – The bdelete command is used to delete buffers and it can be used in an equally vast number of ways.

  • Working with Many Files (Screencast 2)


    We're going to cover the args list, the buffer list, how to sequentially move forward through both and a ridiculously powerful command known as :bufdo

    Args List – The list of loaded files (by default) is put in the :args list, and we will learn how to move through it.

    The Buffer List – What it is and how we can move through it.

    Bufdo – The bufdo command lets us run a command over all of our loaded buffers. Keep this in the front of your brain!

  • Working with Many Files (Screencast 3)


    In this video we cover how to work with windows! Some people have really been waiting for this and it's been a long time coming, I know. This is the last major piece of information you need in order to be able to work with many files in Vim. Windows give you a viewport on to your buffers and now that you've got a lot of buffers loaded, you're going to want to see more than one at a time.

    Splitting Windows – There’s vertical splits and horizontal splits. Split horizontally with :split or CTRL-w s and vertically with :vsplit or CTRL-w v.

    Closing Windows – You can close with :close or CTRL-w c.

    Switching Windows – Change windows with CTRL-w h, CTRL-w j, CTRL-w k or CTRL-w l.

    Switching Windows (continued) – You can also switch to the “previous” window with CTRL-w p.

    Switching Windows (continued again) – If you want to jump around windows a bit quicker then you can pass a numeric argument to the CTRL-w {motion} command such as 5CTRL-w k to move up 5 windows.

    Moving Windows – If you want to reposition a window to another spot, you can use the CTRL-w H, CTRL-w J, CTRL-w K or CTRL-w L commands.

    Focusing a Window – If you want to de-clutter your workspace and make the current window the only visible window then you can hit CTRL-w o.

    You can check out my mappings for dealing with windows in the vimrc section.

  • How to use the Help System


    After this video you should be able to hyperlink through the documentation, look up what you need to and search what you need to look for as well.

    How to get in to help:help, :h or F1.

    How to navigateCTRL-] moves you into a hyperlink and CTRL-T moves you back in your hyperlink history.

    How to jump to a topic:h <topic-name> jumps you straight to the topic.

    Tab completion for help – Using :set 'wildmenu' to help you complete on the help command.

    Grepping through the help:helpgrep searches through the help documentation and :cwindow shows you the results in a very cool way.

    Of course, use :help on any of the above topics for more information on that topic.

In these videos Derek Wyatt will cover the basics of vim. If you’re just getting started or think you may be missing some of the basic ideas behind Vim, these videos are for you.

VIM from novice to professional by: Derek Wyatt #Part Two
VIM from novice to professional by: Derek Wyatt #Part Three


  • Pingback: VIM from novice to professional by: Derek Wyatt #part 1 | Gregers' Links()

  • Leon

    Hey Derek,

    your videos are BLACK METAL \m/

    Always wanted to get more proficient with vi – never had the motivation. :)

  • peep

    This would be much more accessible in article form instead of screencasts.

    • ontwik

      Also below each video you can read a description about it.

  • Website optimisation

    Very grateful thanks, at least l am catching up for once

    • ontwik

      It worth.Keep Going

  • Peter Nunn

    Fantastic series so far… please, please, keep going… much better than the mountain of books I’ve been trying to read.

    • ontwik

      Welcome Peter,
      There will be another two parts on the way for intermediate and advanced, so stay tuned and keep going

  • Przemek Owczarek

    Great videos, I’m semi-pro vim user but learned a lot!

  • Pingback: links for 2011-01-04 « Donghai Ma()

  • Pingback: One with Vim – Invisible Theory()

  • Pingback: How good are you in Vim? « The Ubuntu Incident()

  • Flaviu Simihaian

    Awesome stuff. Please keep them coming.

    I learned more from these videos in a few hours than from struggling to read two books on VIM for the last two months.

  • Pingback: vim screencasts | The Iaian Blog()

  • Doug Avery

    Great videos — your presentation style is fantastic, kept me from skipping ahead and I ended up learning a lot!

  • Jonathan Clarke

    Thanks! I really enjoyed those. It took me about a month to wade through the part 1, but it was totally worth it. Looking forward to hitting part 2 soon…

  • ravikiranj

    I cannot express in words, how kool the above screencasts are !
    Thanks for encouraging me to stop using arrow keys !
    ur totally (Esc + 2k4W)

  • Pingback: Vim Heaven | Antonio Fernandes()

  • Huoxito Luiz

    really interesting, good, awesome and funny screencasts about vim !!!
    thanks so much for sharing it.

    • Ahmed Al-ajmi

      You are welcome Huoxito, Keep Going