This is an old revision of the document!
Vim
vim
is a modal editor (improving on vi). It can run without graphics, is ubiquitous, powerful, and efficient but is an acquired skill.
Vim’s design is based on the idea that a lot of programmer time is spent reading, navigating, and making small edits, as opposed to writing long streams of text. For this reason, Vim has multiple operating modes.
Normal: for moving around a file and making edits \ Insert: for inserting text \ Replace: for replacing text\ Visual (plain, line, or block): for selecting blocks of text\ Command-line: for running a command\
* MIT's “missing semester” has an excellent lecture video and notes.
* vimtutor
is a program included with vim that will guide you through usage – run it from the command line.
* vim-wiki
===== Commands =====
Victoria's review: a minimal vim session experience:
- vim $filename
→ opens a file in vim. If that file doesn't exist or you opened it in the wrong filepath, you will see an empty blank vim that says [NEW]
at the bottom
- i
→ puts you in i**nsert mode so you can freely type and move your cursor around. Says – INSERT –
in bottom left.
esc
→ gets you out of insert mode
move around
0
puts your cursor to the beginning of the line (in command mode)$
puts your cursor to the end of the line (in command mode)Shift + i
puts your cursor to the beginning of the line and opens insert modeShift + a
puts your cursor to the end of the line and opens insert modeo
opens insert mode on a new line below your cursor- up and down arrows move you up and down each line but to move between lines click
g
then up or down arrow u
undo last change (in command mode)
close vim temporarily
Ctrl + z
puts the vim window to “sleep” and brings you back to the terminalfg
brings you from the terminal back into the last script in vim you were working on
exit
:q
→ quits vim:wq
→ saves what you wrote and quits vim:q!
→ does not save what you wrote and quits vim