Some productivity tips: Smart movements * and # search for the word under the cursor forward/backward. w to the next word W to the next space-separated word b / e to the begin/end of the current word. (B / E for space separated only) gg / G jump to the begin/end of the file. %jump to the matching { .. } or ( .. ), etc.. { / } jump to next paragraph. Quick editing commands I insert at the begin. A append to end. o / O open a new line after/before the current. v / V visual mode (to select text!) Shift+R replace text C change remaining part of line. Combining commands Most commands accept a amount and direction, for example: cW = change till end of word 3cW = change 3 words BcW = to begin of full word, change full word ciW = change inner word. ci" = change inner between ".." ci( = change text between ( .. ) 4dd = delete 4 lines 3x = delete 3 characters. 3s = substitute 3 characters. Useful programmer commands r replace one character (e.g. rd replaces the current char with d). ~ changes case. J joins two lines Ctrl+A / Ctrl+X increments/decrements a number. . repeat last command (a simple macro) = indent line (specify a range, or use visual mode) Macro recording Press q[key] to start recording. Then hit q to stop recording. The macro can be played with @[key].
VIM as a file comparator:
Use '-d' switch to compare two files in VIM. This command splits the VIM screen vertically and shows the differences.
vim -d chmod-restore.pl chmod-restore1.pl