Notes from the Vim for Ruby udemy course.
- End of the file:
shift + g
- Next line:
j
- Go down a defined number of lines:
number + j
- Skip to next word:
w
- Skip back a word:
b
- Skip to next section:
W
- Skip back to previous section:
B
- Go to end of the line:
$
- Go to beginning of the line:
0
- Go to top of the screen:
shift + h
- Go to bottom of the screen:
shift + l
- Forward multiple words:
5w
- Forward multiple letters:
5l
- Back multiple letters:
5h
- Forward to the next 'y':
fy (case sensitive)
- Undo:
u
- Redo:
ctrl + r
- Inserting text where the cursor is:
i
- Inserting text at the start of the line:
I
- Insert at the end of the line:
shift + a
- Copy entire line:
yy or Y
- Paste copied line:
p
- Change multiple words:
5cw
- Insert at the end of the line:
A
d<leftArrow>
will delete current and left characterd$
will delete from current position to end of lined^
will delete from current backward to first non-white-space characterd0
will delete from current backward to beginning of linedw
deletes current to end of current word (including trailing space)db
deletes current to beginning of current word- Delete current line:
dd
- Join the line below:
shift + j
- Delete entire word:
cw
- Delete to the end of the line:
shift + C
- Delete multiple lines:
d + number of lines + enter
- Delete from current position to a specific line number:
d<line number>G
- Deleting all items in a file that start with a pattern:
:g/< search term>/d
- Deleting all lines that are empty or that contain only whitespace:
:g/^\s*$/d
- Select the entire line:
V
- Select a range of text:
v
- Select a column:
control + v
- Reselect a block:
gv
- Select all:
ggVG
%s/pattern/text
to replace
- Save the file:
:w
- Save the file and quit:
:wq
- Quit without saving:
:q!
- Use horizontal split:
:sp filename
- Use vertical split:
:vsp filename
- Switch from top to bottom:
control + w + j
- Switch from left to right:
control + w + l
- Switch from bottom to top:
control + w + j
- Switch from right to left:
control + w + h
- While on current line:
f + <queried item>
- Search for word in file:
/word + enter
- Find next search result:
n
- Search backwards:
N
- Go to first result:
ggn
- Go to last result:
GN
- To remove search highlighting:
:noh
- Normal
- Insert
- Visual
- Replace
- Command Line
:e filename
- Edit a file in a new buffer:bnext (or :bn)
- go to next buffer:bprev (of :bp)
- go to previous buffer:bd
- delete a buffer (close a file):sp filename
- Open a file in a new buffer and split windowctrl + ws
- Split windowsctrl + ww
- switch between windowsctrl + wq
- Quit a windowctrl + wv
- Split windows vertically
- Fix indenting when pasting:
set paste
in .vimrc file - Indenting:
visual mode + > or <
- Repeat indenting:
.
- Comment:
visual block select with CTRL-V then I# (insert # in the begining)
- Uncomment:
visual block select with CTRL-V then X (delete the first symbol on the line)
- Changing multiple lines of text:
control + v + shift + i + action + esc
- Select elements in paragraph:
v + / + content
- Turning on line numbers:
:set nu
- Turning on syntax highlighting:
:syntax on
cd
mv .vimrc .vimrc-old
mv .vim .vim-old
touch .vimrc; mkdir .vim
- To get help:
:h <topic>
- To exit help:
:bd
c + i + t
will remove the code between HTML tags, such as:<div>Some content</div>
c + i + }
will remove the code inside of a JavaScript function