Friday, August 19, 2011

Useful Linux VI commands


Command Mode
Open File
·        vi filename         - edit filename starting at line 1
·         vi –r filename    - recover filename that was being edited when system crashed

Exit File
·         :q                            - To exit Vi
·         :wq or :x              - To exit Vi after saving the edited file
·         :q!                          - To exit Vi without saving the edited file

Move the cursor
·         j                               -      one line
·         k                              -      one line
·         h                             -      one character
·         l                               -      one character
·         0                              - beginning of current line
·         $                              - end of current line
·         w                            - beginning of next word
·         b                             - beginning of previous word
·         nG (1G, 10G..)   - beginning of nth line
·         G                             - beginning of last line
·         H                             - Top of the screen
·         M                            - Middle of the screen
·         L                              - Bottom of the screen 

Screen Manipulation
·         ^f                            - ↓ (forward) one screen           
·         ^b                           - ↑(backward) one screen
·         ^d                           - ↓(down) half screen
·         ^u                           - ↑(up)half screen
·         ^l                            - redraw the screen
·         ^r                            - redraw the screen removing deleted lines

Searching Text
·         /string                  - Search forward occurrence of string from the current position
·         ?string                  - Search backward occurrence of string from the current position
·         n                             - Move to next occurrence
·         N                             - Move to next occurrence in opposite direction

Searching and Replacing Text(Substitute)
Search for the word ‘find’ and replace it with the word ‘new’
·         :s/find/new/       -  current line only
·         :1,10s/find/new/- line 1 to 10 only
·         :1,.s/find/new/  -  line 1 to current line
·         :1,$s/find/new/  -  line 1 to last line (entire file)
·         :-5,+5s/find/new/  -  5lines beyond the current line to 5 lines after current line

Determining line numbers
·         :.=                           - Line number of current line
·         :=                            - Total number of Lines

Saving and Reading Files
·         :r test                    - Read file named test and insert after the current line
·         :w                           - Write the current content of the file to the original file
·         :w nwfilename - Write the current content of the file to a new file called nwfilename
·         :4,9w newfile     - Write the content from line 4 -9 to a new file named newfile
·         :w! existfile        - Write the current contents over a existing file named existfile

Manipulating Text

Undo the last edition action
·         u                             - Undo the last action

Inserting or adding text

·         i                               - Insert text before cursor
·         I                               - Insert text at the end of the line
·         a                              - Append text after the cursor
·         A                             - Append text at the beginning of line
·         o                             - Put a new line below current line
·         O                             - Put a new line above current line

changing text
·         r                              - Replaces the character under cursor – no esc needed
·         R                             - Replace the characters starting from the current position- till esc
·         cw                          - Change the current word starting from the current position – till esc
·         cNw                       - Change the N words  starting with the current position – till esc
·         C                             - Replace the content in the current line after the current position
·         cc                            - Replace the entire line
·         Ncc                         - Replace next N lines  starting with the current line

changing text
·         x                              - Delete a single character under cursor
·         Nx                          - Delete N characters starting from the cursor
·         dw                          - Delete the content of the current word after the cursor
·         dNw                      - Delete the content of the next N words starting after the cursor
·         D                             - Delete the remainder of the current line after the cursor
·         dd                           - delete entire current line
·         Ndd                       - delete N lines, beginning with the current line

Copying and pasting text
·         yy                           - Copy the current line
·         Nyy                        - Copy the next N lines including the current line
·         p                             - Paste the copied lines after the current line
·         P                             - Paste the copied lines before the current line

No comments:

Post a Comment