Before I start, just remember, when in doubt just don't close vim and you'll live.
Exiting Vim
It's easier said than done for some, there's countless articles asking for help, here's a shortcut:
Intent: Write and Quit
If you intend to write and quit (save changes, exit), you should follow this key bindings:
- ESCAPE
- :
- wq
- ENTER
Intent: Write, but don't quit
If you intend to write and don't quit, simply run:
- ESCAPE
- :
- w
- ENTER
Editing content
You can either use the i key, or hit insert to write content in vim. If you hit r or double hit insert, it will open the replace mode.
Undo, anyone?
In order to undo, make sure you're not in write mode (hit escape), and hit the U key until satisfied.
Can I redo it?
Yep, r until satisfied.
How the heck can I fix the indentation?
A little opinionated, but if you run this command then hit F7, it'll format your code in an opinionated way:
- ESCAPE
- :map mzgg=G`z
- ENTER
- [KEY:F7]
That's all for now!
This should get you by using vim in it's most basic format!
Top comments (11)
Hum,
rdoes not redo last undone change. I believe you meantCtrl-Ror:redo(rin normal mode would allow you to replace the char under the cursor with the char you'll type).My mistake, I’ve got my keybindings setup for r as redo!
good mapping suggestion!
If you're in a linux environment, try running the command:
vimtutorIn your terminal. If you're like me you'll become a vim convert
In your example of fixing indentation you're missing the
<F7>bit. Use backticks to escape code.Actually I hate to say it, but this tutorial is wrong in the undo section too. Use
uto undo in the general case, notU. CapitalUundoes a single line, and basically works in a different way (and it'll not be obvious to new users how it's working).This needs to go to my vim cheatsheet. Is there a part 2? How can I copy and paste a section of text?
vWill get you in visual mode. You can highlight the section you want, then yank (copy) withy. To paste, usep. You don't need to visually select to copy/paste. You could yank the wordyw, or yank to the end of the liney$, or yank the entire lineyyVwill get you in select mode. It's little diferent from visual mode, but commands are similar.Vis visual line mode, not select mode. It's the same as visual mode but it's line oriented, so you're cutting or pasting entire lines and not characters.Fix the indentation:
gg=Gfor whole file=Gfrom actual row to end of file==actual lineAnd then, there is :x