- Escape makes you feel safe - Modal Editor - Help docs - Basic movements - Hjkl - Basic Edits - `x` - This one seems so useless... you really don’t need this one that often (and I only recently started using it really at atll...) I think it’d be way more useful to start with showing how to get back into insert mode and where you’re used to. Why would you start here instead of `i`? - `A` - This also seems weird, why not introduce the concept of i, a. Then move to I and A? ## Auxiliary Materials - Course Marketing Video - Short Outro Video - Why Vim? - History of Vim - (Required) - Explain how we get here with Vim. - Can be referenced after we explain what some of the modes and other super basics - Of course, in this video, we have to say that this is part of my vim course :) - PDE talk (hopefully will be done before this course) ## Themes - Interesing Question: Minimum to feel comfortable in vim - might not be productive - might not be fast - (can it replace nano for you?) ## Rough Outline ### Episode 1: How to Exit Vim? Joke: Most courses don't start off with teaching you how to quit the thing you're learning... but that's just the innovative style you get with me :) - Modes - Normal Mode - hjkl - Command Mode - Character Notation <C-c>, <Enter>, etc - `:q<Enter>` (`:q!`) - `!` = `bang` - `:help :q` - Vim mindset: Desire to keep on learning it, otherwise I think it's kind of useless - Don't google (or bing it). - Go to help first, and read. - Go to help often, and read. - People often ask me: "How did you learn vim" - My serious answer is: "I asked myself questions and I read the help" - `:w` - Insert Mode - You can enter insert mode with `i` - Ways to enter Insert Mode - `i` / `a` - Think of `<shift>` as a modifier (not as same key) - `I` / `A` - Basic Motions - hjkl - f/t - `e`, `w`, `b` - cover `<shifted>` as well - `<shift>` as modifier - `g` as modifier - `<ctrl>` as modifier - `/` ### Episode 2: Vim Philosophy - Open new lesson with vim rants - Help Files - Motions & operators - what is a motion? - what is an operator? - `:help operator` - Such a cool operator is `!` (using vim to combine with other things is exciting!) - Such an interesting operator is `g?` - count operator && operator count - `gq`, `=`, and other formatting related operators - Jumplist, Changelist, Tagstack - Jumplist: Larger movements - Changelist: examples, - Undo: - `u`, `U` - Tagstack: tags? - not sure if we should do tags... not my recommended use case anymore - same thing you type in command mode is the thing that you run in your .vimrc - so... if you have stuff you want to run there, just put it there - so... if you want to write a function that does something, you can do that... - (vimscript) (other stuff) - You can edit and do your daily work in vim w/ no plugins - Impossible on large projects and really sucky (because LSP is amazing) but, I want that to be in the realm of possibility