y+s+text-object+surrondings Enclose the text object with surroundings
c+s+text-object+old-surrondings+new-surrondings Change the surrondings of the text object
d+s+text-object+surrondings ReMove the surroundings of the text object
V enter visual line mode first; S+surrondings add surrondings linewise. (for instance, V C <p class='important'>)
Nouns: w: word; s: sentence; p: paragraph; t tag;
D Remove the text after the cursor of the current line, which is similar to C (C will also enter into insert mode)
* Search for other instances of the word under your cursor
^ Move to the first non-blank character in the line, which is a little different from 0 (Move to the beginning of the line)
$ Move to the end of the line
Move by word: w/W: Move forward one word; b/B Move back one word; e/E Move to the end of the word;
Move by sentence: ( Move back one sentence; ) Move forward one sentence
Move by paragraph: { Move back one paragraph; } Move forward one paragraph
Move by screen: H Move to the top of the screen; M Move to the middle of the scrren; L Move to the bottom of the screen; C-u Move up half a screen; C-d Move down half a screen
Move by file: gg Move to the beginning of the file; G Move to the end of the file
C-i Jump forward the cursor's location; C-o Jump backward the cursor's location (I guess Vim maintains a cursor location stack to achieve it)
s delete the character under cursor and enter into insert mode (think about x)
S dlete the current line and enter into insert mode, which equals to c+c
Substitution: :%s/foo/bar/gc Replace "foo" to "bar" on every line with confirm (! Note that :%s/foo/bar/cg is not working, the sequence of c and g is sensitive); :s/foo/bar/gc Replace "foo" to "bar" on current line