I’m doing it. I’m ready to try.

Reading

BOOST YOUR CODING FU WITH VISUAL STUDIO CODE AND VIM In your terminal, you can type vimtutor, opening a really useful program that helps you learn vim through practice 😊

VSCode Notes

The biggest threat to me not learning VIM bindings is probably that VSCode, terrifyingly, won’t immediately disable VIM unless I restart VScode. I can click “disable” on the plugin, but it will persist.

My workaround is, open the command pallete and run “Reload Window”. This restarts the extension. It turns out this is a good workaround for other plugins that also don’t play nice with agreeing to being disabled, like copilot.

Modes

i and some other stuff (a?) takes you into insert mode ESCandCTRL-C` go back to normal mode

Commands

HJKL keys to move as well as arrow keys

X deletes char before cursor x deletes char AT cursor dd deletes a whole line DD deletes from the cursor to the end of the line, inclusive

U undoes actions

:set number adds line numbers

:2 takes you to line 2

w next word b last word

e end of word ge end of word backwards

Consider special chars like .({, to be part of a word with the capitalized version of these word commands. WBEgE

f{char} (find) takes you to the next occurrence of a character ON THAT LINE Once you’ve done this ; goes to the next , goes to the last

t{char does the same, but it will take you to the char just before

0 first character of a line ^ first nonblank character of a line $ moves to the end of a line g_ moves to the non-blank character at the end of a line (this is bit less janky I think)

} jumps a paragraph down { paragraph up

]] goes to the bottom of page [[ goes to the top of the page

CTRL-D goes down half a page CTRL-U goes up half a page

/{pattern} search forward ?{pattern} search backwards ENTER goes to the first match in the search It seems this match is saved, and after this you can use n to go to the next match and N to go to the last match

123G goes to line 123