150 likes | 248 Views
Chapter8 The vi Editor. Introduction to vi. Modes of Operation The Work Buffer During the editing session, vi make all changes in the buffer Advantage 오동작으로 원하지 않은 결과가 발생했을 때, 파일에 저장되지 않도록 할 수 있다. Disadvantage 시스템이 다운될 경우, 편집한 결과가 모두 소멸될 수 있다. :. ESC. Command mode. Last Line mode.
E N D
Introduction to vi Modes of Operation The Work Buffer During the editing session, vi make all changes in the buffer Advantage 오동작으로 원하지 않은 결과가 발생했을 때, 파일에 저장되지 않도록 할 수 있다. Disadvantage 시스템이 다운될 경우, 편집한 결과가 모두 소멸될 수 있다. : ESC Command mode Last Line mode Input mode Enter Insert, Append, Replace …
Basic(Loading and Saving files) vi [filename] - start vi ( edit filename) vi +[number, /string] - begin with start line, first matching string, relatively :e filename - edit filename :q - terminate vi without saving :q! - terminate vi, leave file unchanged :w - save edited file, stay in vi :r filename - read in text in filename
Command mode - Moving the Cursor l,h,j,k - move right, left, down, up w,b,e - move right one, left one, to end of word W,B,E - equivalent above except the space delimited word -,Enter - move start of upper line, start of next line ^,$ - move start of line, end of line <crtl>+u,d,b,f - move screen one half-page up, one half page down, one page up, one page down in text H,M,L - move left end of top, middle line, bottom line G - move to last line nG - move to nth line
Input Mode i - insert before the cursor a - append after the cursor o - insert the text on a new line after the current line r - replace the current one character, automatically return to command mode I - insert the text at start of line A - insert the text at end of line O - insert the text on a new line before the current line R - overwrite all character until press <ESC> <ESC> - return to command mode
Command mode - Deleting text x - delete the character under the cursor dw - delete to the of word dW - delete to end of space delimited word D - delete to end of line dd - delete the current line u - undo the last change made U - restore current line to previous state
Command mode - Changing text cw - change to end of word cb - change to begin of word cW - change to end of space delimited word cB - change to begin of space delimited word cc - change the current line
Searching for a String The Search Commands /xxx - search forward for text string xxx ?xxx - search backward for text string xxx / - repeat search forwards ? - repeat search backwards n - repeat search in same direction N - repeat search in opposite direction Special Characters in Search Strings ^ - the beginning-of-line indicator $ - the end-of-line indicator . - the any character indicator \> - the end-of-word indicator \< - the beginning-of-word indicator [ ] - the character class definition
Substituting One String for Another [address]s/search-string/replace-string[/g] address number - line number 77,100 - line 77 through 100 1, . - the beginning of the work buffer through the current line .,$ - the current line through the end of work buffer 1,$ - the entire work buffer % - the entire work buffer .,.+10 - the current line through the tenth following line
Miscellaneous Commands J - join command <ctrl>-g - status command (line number of current line, total number of line) End line mode - :f . - period command (repeat the most recent command that made a change) ~ - tilde command (change between lowercase and uppercase)
The Put, Delete and Yank Commands The General Purpose Buffer Store the text that you most recently changed, deleted and yanked. Undo command uses the general purpose buffer when it restores text y - yank command yy, Y - yank the current line nyy, nY - yank the n line from current line p - paste the text on a new line after the current line P - paste the text on a new line above the current line
Reading and Writing Files Read Command :[address]r [filename] Write Command :[address]w[!] [filename] - overwrite mode :[address]w>>filename - append mode address - the same as substitution command
Setting Parameters Setting Parameters in a Startup File Bourne and Korn shell - .profile EXINIT = ‘set param1 param2…’ export EXINIT C shell - .login setenv EXINIT = ‘set param1 param2…’ .exrc set param1 param2… Parameters :set all - show all parameter number, nonumber - show line number, hide line number wrapmargin=nn - break the line by inserting <newline> character at the closest blank delimited word boundary nn - the number of character from the right side of the screen
Setting Parameters Parameters (Cont.) Shell[=pathname] showmode, noshowmode - give a cue to let you know when vi is in Input Mode flash, noflash - beep when give invalid command or press <ESC> in Command Mode ignorecase, noignorecase - ignore case in search magic, nomagic - special characters in search strings have no special meanings (except ^, $) list, nolist - show <TAB> -> ^I, end of line -> $ wrapscan, nowrapscan autoindent, noautoindent shiftwidth=nn
Units of Measure Character Word - <space>, <tab>,<newline>, numeral, punctuation marks Line - <newline> Sentence - period, exclamation point, question mark, followed by two <space> or a <newline> Paragraph - blank line Screen