Exercise: in last commit, you forgot to add another file, but you don't want to commit again just for this single file, please try to commit it with -- amend.
set your username and email > git config --global user.name "eddie" > git config --global user.email "[email protected]" list all settings > git config --list
Modes Switch: 1. in normal mode, "i" or "a" or "o" to enter insert mode(i = insert, a = append, o = newline) 2. in insert mode, ESC or Ctrl+[ to enter normal mode 3. in normal mode, hit "v" or "V" to enter visual mode 4. in visual mode, hit ESC or Ctrl+[ to normal mode
- :w write to file. - :q exit Vim. - :tabe create a new tab. - gt to switch to next tab, gT to previous tab. (I map gt and gT to F7 and F8 in my vimrc) - :new to create a horizontal split window, :vnew or :vs to create a vertical split window.
- vi -o a.rb b.rb to open those two files at the same time with horizontal split window. - vi -O a.rb b.rb same as above, but in vertical split window. - vi -p a.rb b.rb to open files with tabs. - vi http://www.eddie.com.tw will read the source content into vim directly.
- w or W to move cursor forward by a word, and b or B is backward. - 0 to back to the begin of the line, and $ is jump to the end. - fx will stop the cursor at the next "x" character in current line, and F is search backward.
- } will move cursor to next section, { move to last section. - vit will visually select content between the tag, while vat will even including the tag. - vi" will visually select content between current double quotes. - viw will select the current word.
- gg will move the cursor to the top of the current file, and G will jump to bottom. - zz, zb, zt - / search, n can jump to next matched result, and N will jump to last one. - * search the word on cursor.
- D to clear all content of current line after the cursor. - C like D, but enter insert mode. - dG will clear all content after the cursor, dgg will clear all content before the cursor. - x remove a character. - . to repeat last action. - dd to delete whole line. - 3dd to delete 3 lines.
- yy yank the whole line of the cursor. - 3yy yank 3 lines. - p paste content from register. - 4p paster content from register for 4 times. - = re-format - gg=G re-format whole file.
- dw, diw to delete the word in the cursor. - cw, ciw same as above, but enter insert mode. - r to replace current character. - J to concatenate current line with next line, 3J will concatenate next 3 lines. - > to add indentation, < to remove indentation.
in terminal: 1. ctrl + z to stash vim, and type "fg" to bring it back. 2. ctrl + w to delete a word, ctrl + u to delete a whole line, both work in terminal and vim edit mode. 3. ctrl + r to find history commands fuzzily.