Navigating the file
        
                        
                                                                                    
                                                                                            h  | 
                                                                                                                        Left one space  | 
                                                                                 
                                                                                            
                                                                                            j  | 
                                                                                                                        Down one line  | 
                                                                                 
                                                                                            
                                                                                            k  | 
                                                                                                                        Up one line  | 
                                                                                 
                                                                                            
                                                                                            l  | 
                                                                                                                        Right one space  | 
                                                                                 
                                                                                            
                                                                                            0  | 
                                                                                                                        Beginning of line (zero)  | 
                                                                                 
                                                                                            
                                                                                            $  | 
                                                                                                                        End of line  | 
                                                                                 
                                                                                            
                                                                                            w, nw  | 
                                                                                                                        Beginning of next word (n words) or punctuation.  | 
                                                                                 
                                                                                            
                                                                                            W, nW  | 
                                                                                                                        Beginning of next word (n words)  | 
                                                                                 
                                                                                            
                                                                                            b, nb  | 
                                                                                                                        Back one word or punctuation mark.  | 
                                                                                 
                                                                                            
                                                                                            B, nB  | 
                                                                                                                        Back one word  | 
                                                                                 
                                                                                            
                                                                                            ^f  | 
                                                                                                                        Forward one screen  | 
                                                                                 
                                                                                            
                                                                                            ^b  | 
                                                                                                                        Back one screen  | 
                                                                                 
                                                                                            
                                                                                            ^d  | 
                                                                                                                        Down half a screen  | 
                                                                                 
                                                                                            
                                                                                            ^u  | 
                                                                                                                        Up half a screen  | 
                                                                                 
                                                                                            
                                                                                            ^L  | 
                                                                                                                        Redraw the screen  | 
                                                                                 
                                                                                            
                                                                                            H, nH  | 
                                                                                                                        Top of screen, n lines below top  | 
                                                                                 
                                                                                            
                                                                                            M  | 
                                                                                                                        Middle of screen  | 
                                                                                 
                                                                                            
                                                                                            L, nL  | 
                                                                                                                        Last line on screen, n lines above last line  | 
                                                                                 
                                                                                            
                                                                                            e  | 
                                                                                                                        End of word, or punctuation  | 
                                                                                 
                                                                                            
                                                                                            E  | 
                                                                                                                        End of word  | 
                                                                                 
                                                                                            
                                                                                            (  | 
                                                                                                                        Beginning of current sentence  | 
                                                                                 
                                                                                            
                                                                                            )  | 
                                                                                                                        Beginning of next sentence  | 
                                                                                 
                                                                                            
                                                                                            {  | 
                                                                                                                        Beginning of current paragraph  | 
                                                                                 
                                                                                            
                                                                                            }  | 
                                                                                                                        Beginning of next paragraph  | 
                                                                                 
                                                                                            
                                                                                            [[  | 
                                                                                                                        Beginning of current section  | 
                                                                                 
                                                                                            
                                                                                            ]]  | 
                                                                                                                        Beginning of next section  | 
                                                                                 
                                                                         
                             
                             | 
                                                                              | 
                                                        
                                
    
    
            Editing
        
                        
                                                                                    
                                                                                            i  | 
                                                                                                                        Insert at cursor location  | 
                                                                                 
                                                                                            
                                                                                            a  | 
                                                                                                                        Append from cursor location  | 
                                                                                 
                                                                                            
                                                                                            cw  | 
                                                                                                                        Change from cursor to end of word  | 
                                                                                 
                                                                                            
                                                                                            c$, C  | 
                                                                                                                        Change from cursor to end of line  | 
                                                                                 
                                                                                            
                                                                                            c0  | 
                                                                                                                        Change from cursor to beginning of line  | 
                                                                                 
                                                                                            
                                                                                            cnb  | 
                                                                                                                        Change n words back  | 
                                                                                 
                                                                                            
                                                                                            cc  | 
                                                                                                                        Change entire line  | 
                                                                                 
                                                                                            
                                                                                            r  | 
                                                                                                                        Replace a single character  | 
                                                                                 
                                                                                            
                                                                                            x  | 
                                                                                                                        Delete current character  | 
                                                                                 
                                                                                            
                                                                                            dw  | 
                                                                                                                        Delete word  | 
                                                                                 
                                                                                            
                                                                                            d/pattern  | 
                                                                                                                        Delete from cursor to pattern  | 
                                                                                 
                                                                                            
                                                                                            d$, D  | 
                                                                                                                        Delete from cursor to end of line  | 
                                                                                 
                                                                                            
                                                                                            dd  | 
                                                                                                                        Delete current line  | 
                                                                                 
                                                                                            
                                                                                            ndd  | 
                                                                                                                        Delete n lines  | 
                                                                                 
                                                                                            
                                                                                            J  | 
                                                                                                                        Join current line with next line  | 
                                                                                 
                                                                                            
                                                                                            u  | 
                                                                                                                        undo last edit  | 
                                                                                 
                                                                                            
                                                                                            CTRL-r  | 
                                                                                                                        redo; undo the undo  | 
                                                                                 
                                                                         
                             
    
    
            Search and Replace
        
                        
                                                                                    
                                                                                            /pattern  | 
                                                                                                                        Search forward for pattern  | 
                                                                                 
                                                                                            
                                                                                            ?pattern  | 
                                                                                                                        Search backward for pattern  | 
                                                                                 
                                                                                            
                                                                                            n, //  | 
                                                                                                                        Repeat last search  | 
                                                                                 
                                                                                            
                                                                                            nG, :n  | 
                                                                                                                        Got to line n  | 
                                                                                 
                                                                                            
                                                                                            G  | 
                                                                                                                        Go to end of file  | 
                                                                                 
                                                                                            
                                                                                            :%s/old/new/g  | 
                                                                                                                        Search for old, replace with new, globally  | 
                                                                                 
                                                                         
                             
                             | 
                                                                              | 
                                                        
                                
    
    
            Writing to multiple files
        
                        
                                                                                    
                                                                                            vi file1 file2  | 
                                                                                                                        Start editing file1  | 
                                                                                 
                                                                                            
                                                                                            :w  | 
                                                                                                                        Write changes to file1  | 
                                                                                 
                                                                                            
                                                                                            :n  | 
                                                                                                                        Start editing next file  | 
                                                                                 
                                                                                            
                                                                                            :x  | 
                                                                                                                        Save file2 and exit vi  | 
                                                                                 
                                                                         
                             
    
    
            Editing with more than one file
        
                        
                                                                                    
                                                                                            :w  | 
                                                                                                                        Save current file  | 
                                                                                 
                                                                                            
                                                                                            :e filename  | 
                                                                                                                        Open and edit new file  | 
                                                                                 
                                                                                            
                                                                                            :e!  | 
                                                                                                                        Discard edits and return to first file  | 
                                                                                 
                                                                                            
                                                                                            :e #  | 
                                                                                                                        Edit (return) to first filename % is current filename # is alternate filename  | 
                                                                                 
                                                                                            
                                                                                            :w  | 
                                                                                                                        write current file to  filename.new  | 
                                                                                 
                                                                         
                             
    
    
            2 ways to Yank & Put between files
        
                        
                                                                                    
                                                                                            r15yy  | 
                                                                                                                        Yank 15 lines to buffer r  | 
                                                                                 
                                                                                            
                                                                                            :w  | 
                                                                                                                        Write (save) current filename  | 
                                                                                 
                                                                                            
                                                                                            :e filename.next  | 
                                                                                                                        Edit new file  | 
                                                                                 
                                                                                            
                                                                                            rp  | 
                                                                                                                        Put lines from buffer r  | 
                                                                                 
                                                                                            
                                                                                            :5,12ya a  | 
                                                                                                                        Yank lines 5 thru 12, save to buffer a  | 
                                                                                 
                                                                                            
                                                                                            :pu a  | 
                                                                                                                        Put lines from buffer a  | 
                                                                                 
                                                                         
                             
    
    
            Yank lines to a named buffer
        
                        
                                                                                    
                                                                                            f8yy  | 
                                                                                                                        Yank 8 lines to buffer f  | 
                                                                                 
                                                                                            
                                                                                            fp  | 
                                                                                                                        Put lines from buffer f  | 
                                                                                 
                                                                         
                             
    
    
            Moving and saving
        
                        
                                                                                    
                                                                                            yw  | 
                                                                                                                        Yank word  | 
                                                                                 
                                                                                            
                                                                                            ynw  | 
                                                                                                                        Yank n words  | 
                                                                                 
                                                                                            
                                                                                            y$, yy  | 
                                                                                                                        Yank current line  | 
                                                                                 
                                                                                            
                                                                                            nyy  | 
                                                                                                                        Yank n lines  | 
                                                                                 
                                                                                            
                                                                                            p  | 
                                                                                                                        Put last yanked  | 
                                                                                 
                                                                                            
                                                                                            :w  | 
                                                                                                                        Write file but don't exit  | 
                                                                                 
                                                                                            
                                                                                            :w filename  | 
                                                                                                                        Write file to filename  | 
                                                                                 
                                                                                            
                                                                                            :x  | 
                                                                                                                        Write and exit file  | 
                                                                                 
                                                                         
                             
                             |