UNIX系統下默認的編輯器app
vi filename
編輯器
:x<Return> quit vi, writing out modified file to file named in original invocation :wq<Return> quit vi, writing out modified file to file named in original invocation :q<Return> quit (or exit) vi :q!<Return> quit vi even though latest changes have not been saved for this vi cal ZZ Exit, saving changes
j or <Return> [or down-arrow] move cursor down one line k [or up-arrow] move cursor up one line h or <Backspace> [or left-arrow] move cursor left one character l or <Space> [or right-arrow] move cursor right one character 0 (zero) move cursor to start of current line (the one with the cursor) $ move cursor to end of current line w move cursor to beginning of next word b move cursor back to beginning of preceding word :0<Return> or 1G move cursor to first line in file :n<Return> or nG move cursor to line n :$<Return> or G move cursor to last line in file ]] Next section/function [[ Previous section/function
^f move forward one screen ^b move backward one screen ^d move down (forward) one half screen ^u move up (back) one half screen ^l redraws the screen ^r redraws the screen, removing deleted lines ^e Scroll down one line ^y Scroll up one line H Home window line L Last window line M Middle window line + Next line
^u UNDO WHATEVER YOU JUST DID; a simple toggle U Undo all changes to line
i insert text before cursor, until <Esc> hit I 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
r replace single character under cursor (no <Esc> needed) R replace characters, starting with current cursor position, until <Esc> hit ~ Toggle character case
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 D delete the remainder of the line, starting with current cursor position dd delete entire current line Ndd or dNd delete N lines, beginning with the current line; e.g., 5dd deletes 5 lines
yy copy (yank, cut) the current line into the buffer Nyy or yNy 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
/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
:.= returns line number of current line at bottom of screen := returns the total number of lines at bottom of screen ^g provides the current line number, along with the total number of lines,in the file at the bottom of the screen
: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
:r filename<Return> read file named filename and insert after current line (the line with cursor)