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,
r
does not redo last undone change. I believe you meantCtrl-R
or:redo
(r
in 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:
vimtutor
In 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
u
to undo in the general case, notU
. CapitalU
undoes a single line, and basically works in a different way (and it'll not be obvious to new users how it's working).Fix the indentation:
gg=G
for whole file=G
from actual row to end of file==
actual lineThis needs to go to my vim cheatsheet. Is there a part 2? How can I copy and paste a section of text?
v
Will 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 lineyy
V
will get you in select mode. It's little diferent from visual mode, but commands are similar.V
is 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.And then, there is :x