To Start vi
To use vi on a file, type in vi filename. If the file named filename exists, then the first page (or screen) of the file will be displayed; if the file does not exist, then an empty file and screen are created into which you may enter text.
vi filename : edit filename starting at line 1
vi -r filename : recover filename that was being edited when system crashed
To Exit vi:
To save and quit: ESC : x Enter : quit vi, writing out modified file to file named in original invocation
ESC :wq Enter : quit vi, writing out modified file to file named in original invocation
To unsave and quit : ESC :q! : quit vi even though latest changes have not been saved for this vi call
Moving the Cursor:
ESC + j : move cursor down one line
ESC + k : move cursor up one line
ESC + h : move cursor left one character
ESC + l : move cursor right one character
ESC + 0 : move cursor to start of current line (the one with the cursor)
ESC + $ : move cursor to end of current line
ESC + w : move cursor to beginning of next word
ESC + b : move cursor back to beginning of preceding word
ESC : 0 or ESC 1G : move cursor to first line in file
ESC : n or ESC nG : move cursor to line n
ESC : $ or ESC G : move cursor to last line in file
Screen Manipulation:
The following commands allow the vi editor screen (or window) to move up or down several lines and to be refreshed.
CTRL+ f : move forward one screen
CTRL+ b : move backward one screen
CTRL+ d : move down (forward) one half screen
CTRL+ u : move up (back) one half screen
Adding, Changing, and Deleting Text:
ESC+ u : UNDO WHATEVER YOU JUST DID; a simple toggle
Inserting or Adding Text :
The following commands allow you to insert and add text. Each of these commands puts the vi editor into insert mode; thus, the <Esc> key must be pressed to terminate the entry of text and to put the vi editor back into command mode.
i : insert text before cursor, until <Esc> hit
I in caps : insert text at beginning of current line, until <Esc> hit
a : append text after cursor, until <Esc> hit
A : append text to end of current line, until <Esc> hit
o : open and put text in a new line below current line, until <Esc> hit
O : open and put text in a new line above current line, until <Esc> hit
Changing Text:
r : replace single character under cursor (no <Esc> needed)
R : replace characters, starting with current cursor position, until <Esc> hit
cw : change the current word with new text, starting with the character under cursor, until <Esc> hit
cNw : change N words beginning with character under cursor, until <Esc> hit; e.g., c5w changes 5 words
C : change (replace) the characters in the current line, until <Esc> hit
cc : change (replace) the entire current line, stopping when <Esc> is hit
Deleting Text :
ESC + x : delete single character under cursor
Nx : delete N characters, starting with character under cursor
dw : delete the single word beginning with character under cursor
dNw : delete N words beginning with character under cursor; e.g., d5w deletes 5 words
ESC +dd : delete entire current line
dND :delete N lines, beginning with the current line; e.g., 5dd deletes 5 lines
Cutting and Pasting Text:
ESC+yy : copy (yank, cut) the current line into the buffer
Esc +Nyy : copy (yank, cut) the next N lines, including the current line, into the buffer
p : put (paste) the line(s) in the buffer into the text after the current line
Searching Text :
/string : search forward for occurrence of string in text
?string : search backward for occurrence of string in text
n : move to next occurrence of search string
N :move to next occurrence of search string in opposite direction
Determining Line Numbers :
Being able to determine the line number of the current line or the total number of lines in the file being edited is sometimes useful.
:.= returns line number of current line at bottom of screen
:= returns the total number of lines at bottom of screen
Ctrl+g : provides the current line number, along with the total number of lines,in the file at the bottom of the screen.
Saving and Reading Files:
These commands permit you to input and output files other than the named file with which you are currently working.
:r filename<Return> : read file named filename and insert after current line (the line with cursor)
:w<Return> :write current contents to file named in original vi call
:w newfile<Return> : write current contents to a new file named newfile
:12,35w smallfile<Return> : write the contents of the lines numbered 12 through 35 to a new file named smallfile
:w! prevfile<Return> : write current contents over a pre-existing file named prevfile
To use vi on a file, type in vi filename. If the file named filename exists, then the first page (or screen) of the file will be displayed; if the file does not exist, then an empty file and screen are created into which you may enter text.
vi filename : edit filename starting at line 1
vi -r filename : recover filename that was being edited when system crashed
To Exit vi:
To save and quit: ESC : x Enter : quit vi, writing out modified file to file named in original invocation
ESC :wq Enter : quit vi, writing out modified file to file named in original invocation
To unsave and quit : ESC :q! : quit vi even though latest changes have not been saved for this vi call
Moving the Cursor:
ESC + j : move cursor down one line
ESC + k : move cursor up one line
ESC + h : move cursor left one character
ESC + l : move cursor right one character
ESC + 0 : move cursor to start of current line (the one with the cursor)
ESC + $ : move cursor to end of current line
ESC + w : move cursor to beginning of next word
ESC + b : move cursor back to beginning of preceding word
ESC : 0 or ESC 1G : move cursor to first line in file
ESC : n or ESC nG : move cursor to line n
ESC : $ or ESC G : move cursor to last line in file
Screen Manipulation:
The following commands allow the vi editor screen (or window) to move up or down several lines and to be refreshed.
CTRL+ f : move forward one screen
CTRL+ b : move backward one screen
CTRL+ d : move down (forward) one half screen
CTRL+ u : move up (back) one half screen
Adding, Changing, and Deleting Text:
ESC+ u : UNDO WHATEVER YOU JUST DID; a simple toggle
Inserting or Adding Text :
The following commands allow you to insert and add text. Each of these commands puts the vi editor into insert mode; thus, the <Esc> key must be pressed to terminate the entry of text and to put the vi editor back into command mode.
i : insert text before cursor, until <Esc> hit
I in caps : insert text at beginning of current line, until <Esc> hit
a : append text after cursor, until <Esc> hit
A : append text to end of current line, until <Esc> hit
o : open and put text in a new line below current line, until <Esc> hit
O : open and put text in a new line above current line, until <Esc> hit
Changing Text:
r : replace single character under cursor (no <Esc> needed)
R : replace characters, starting with current cursor position, until <Esc> hit
cw : change the current word with new text, starting with the character under cursor, until <Esc> hit
cNw : change N words beginning with character under cursor, until <Esc> hit; e.g., c5w changes 5 words
C : change (replace) the characters in the current line, until <Esc> hit
cc : change (replace) the entire current line, stopping when <Esc> is hit
Deleting Text :
ESC + x : delete single character under cursor
Nx : delete N characters, starting with character under cursor
dw : delete the single word beginning with character under cursor
dNw : delete N words beginning with character under cursor; e.g., d5w deletes 5 words
ESC +dd : delete entire current line
dND :delete N lines, beginning with the current line; e.g., 5dd deletes 5 lines
Cutting and Pasting Text:
ESC+yy : copy (yank, cut) the current line into the buffer
Esc +Nyy : copy (yank, cut) the next N lines, including the current line, into the buffer
p : put (paste) the line(s) in the buffer into the text after the current line
Searching Text :
/string : search forward for occurrence of string in text
?string : search backward for occurrence of string in text
n : move to next occurrence of search string
N :move to next occurrence of search string in opposite direction
Determining Line Numbers :
Being able to determine the line number of the current line or the total number of lines in the file being edited is sometimes useful.
:.= returns line number of current line at bottom of screen
:= returns the total number of lines at bottom of screen
Ctrl+g : provides the current line number, along with the total number of lines,in the file at the bottom of the screen.
Saving and Reading Files:
These commands permit you to input and output files other than the named file with which you are currently working.
:r filename<Return> : read file named filename and insert after current line (the line with cursor)
:w<Return> :write current contents to file named in original vi call
:w newfile<Return> : write current contents to a new file named newfile
:12,35w smallfile<Return> : write the contents of the lines numbered 12 through 35 to a new file named smallfile
:w! prevfile<Return> : write current contents over a pre-existing file named prevfile
No comments:
Post a Comment