## ways to get into insert/replace modes ## i: duh a: "append"; insert mode immediately after char under cursor A: line append; insert mode at end of line I: line insert; insert mode at beginning of line cw: "change word"; delete from cursor to end of current word, then insert r: replace char under cursor, then leave replace mode R: replace mode and stay in replace mode ## copy & paste ## copy (yank) current line to clipboard register: yy copy several lines or a block of text to clipboard: visually select the text you want, then 'y' cut some text: just delete it; every time you delete something, it automatically goes into the default clipboard register. paste the most recently yanked or deleted bit of text: p (note: this leads to the mnemonic "xp" to transpose two letters -- the x deletes, then p immediately pastes; "xp" just happens to read like "transPose") you copied some text, then deleted some other text, and you want to paste the copied text, not the just-deleted text: "0 p list what's in all the clipboard registers: :reg (to paste one, type the text before it, e.g. "4, then type p) copy text to a register named 'x', because you're going to want it much later after some other copying & pasting and you don't want it to scroll away: if some text is selected: "xy to grab the current line: "xyy (note: this named register will persist pretty much forever, even after you close and reopen vim. you can use other letters besides x.) ## split view ## split the window horizontally: :split (hint: to make the new piece of the split appear below by default, put "splitbelow" in your .vimrc; stock configuration has it appear above, which can be disorienting) split the window vertically: :vsplit (hint: to make the new piece of the split appear to the right by default, put "splitright" in your .vimrc; stock configuration has it appear on the left, which can be disorienting) move between splits: up: ctrl+w,k down: ctrl+w,j left: ctrl+w,h right: ctrl+w,l open a new file (can exist or not), and have it appear in a split view beside the current one: :vsplit newfilename.txt close split part currently containing the cursor: :q make the current part of a split view 9 lines taller,shorter,wider,thinner: ctrl+w, 9+ ctrl+w, 9- ctrl+w, 9> ctrl+w, 9< make the split parts equal size: ctrl+w, =