Linux BASH syntax : vi Editor Commands Switch to Text or Insert mode: Open line above cursor O Insert text at beginning of line I Insert text at cursor i Insert text after cursor a Append text at line end A Open line below cursor o Switch to Command mode: Switch to command mode Cursor Movement (command mode): Scroll Backward 1 screen b Scroll Up 1/2 screen u Go to beginning of line 0 Go to line n nG Go to end of line $ Scroll Down 1/2 screen d Go to line number ## :## Scroll Forward 1 screen f Go to last line G Scroll by sentence f/b ( ) Scroll by word f/b w b Move left, down, up, right h j k l Left 6 chars 6h Directional Movement Arrow Keys Go to line #6 6G Deleting text (command mode): Change word cw Replace one character r Delete word dw Delete text at cursor x Delete entire line (to buffer) dd Delete current to end of line D Delete 5 lines (to buffer) 5dd Delete lines 5-10 :5,10d Change dalla linea 1 alla fine, una parola con una altra globalmente :1,$s/old/new/g Editing (command mode): Copy line yy Copy n lines nyy Copy lines 1-2/paste after 3 :1,2t 3 Paste above current line P Paste below current line p Move lines 4-5/paste after 6 :4,5m 6 Join previous line J Search backward for string ?string Search forward for string /string Find next string occurrence n % (entire file) s (search and replace) /old text with new/ c (confirm) g (global - all) :%s/oldstring/newstring/cg Ignore case during search :set ic Repeat last command . Undo previous command u Undo all changes to line U Save and Quit (command mode): Save changes to buffer :w Save changes and quit vi :wq Save file to new file :w file Quit without saving :q! Save lines to new file :10,15w file