Vim
vim
is a modal editor (improving on vi). It can run without graphics, is ubiquitous, powerful, and efficient but is an acquired skill.
- MIT's “missing semester” has an excellent summary of vim functions video and notes.
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
vimtutor
is a program included with vim that will guide you through usage – run it from the command line.
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 bottomi
→ puts you in insert mode so you can freely type and move your cursor around. Says– INSERT –
in bottom left.esc
→ gets you out of insert mode:set nu
shows you line numbers
move around
0
orHome
puts your cursor to the beginning of the line (in command mode)$
orEnd
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