Entering And Leaving VI File Manipulation ----------------------- ----------------- %vi name edit name at top :w write back changes %vi +n name ... at line n :wq write and quit %vi + name ... at end :q quit %vi -r list saved files :q! quit, discard changes %vi -r name recover file name :e name edit file name %vi name ... edit first;rest via :n :e! reedit discard changes %vi -t tag start at tag :e + name edit starting at end %vi +/pat name search for pat :e +n name edit starting at line n % view name read only mode :e # edit alternate file ZZ save and exit from vi CTRl-^ synonym for :e # CTRL-Z stop vi, don't exit :r(name) paste file name starting at current position. :w(name) write file name The Display :w! name overwrite file name ----------- :sh run shell, then return :!cmd run cmd, then return Last line Error mesg, echoing input :n edit next file in arglist to :/? and !, feedback :n args specify new arglist about i/o and large changes :f show current file and line @ lines On screen only, not in file CTRL-G synonym for :f ~lines Lines past end of file :ta tag to tag file entry tag CTRL-x Control characters, DEL is CTRL-] :ta, following word tag delete. tabs Expand to spaces, cursor at last. Vi Modes Positioning within File -------- ----------------------- Command Normal and initial state CTRL-F forward screenfull Others return here. Esc CTRL-B backward screenfull (escape) cancels partial CTRL-D scroll down half screen command. CTRL-U scroll up half screen Insert Entered by a i A I O G goto line (end default) o c C s S R. Arbitrary /pattern next line matching pattern test then terminates ?pattern prev line matching pattern with ESC character, or n repeat last / or ? abnormally with interrupt N reverse last / or ? Last line Reading input for :/? or !; /pat/+n n'th line after pat terminate with ESC or CR ?pat?-n n'th line befor pat to execute. interrupt to ]] next section/function m cancel. [[ previous section/function % find matching () { or } Counts Before Vi Commands Adjusting the Screen ------------------------- -------------------- line/column number z G | CTRL-L clear and redraw scroLl half-page CTRL-D CTRL-U CTRL-R retype, eliminate @ lines replicate insert a i A I z<CR> redraw, at window top repeat effect most rest z- ... at bottom z. ... at center Simple Commands /pat/z- pat line at bottom --------------- zn. use CTRL-E scroll window down 1 line dw delete word CTRL-Y scroll window up 1 line de ... leave punct dd delete a line Corrections during Insert Mode 3dd ... 3 lines ------------------------------ i(text) ESC insert text (return to cmd mode) cw(new) ESC change word to new CTRL-H erase last character (return to cmd mode) easESC pluralize word CTRL-W erases last word xp transpose characters erase your erase, same as CTRL-H (switch current char Kill erase input this line w/ next) Interrupting, Cancelling \ escapes CTRL-H, erase, kill ------------------------ ESC end insert, command mode CTRL-C interrupt, terminate insert ESC end insert or command CTRL-D backtab over autoindent CTRL-C interrupt (or DEL) CTRL-^D kill auto, save for next CTRL-L refresh screen 0CTRL-D ... but at margin next also CTRL-V quote non-printing character Marking and Returning Insert and Replace --------------------- ------------------ `` previous context a append after cursor '' ... at first non-white i insert before in line A append at end of line mx mark position with I insert before first non-white `x to mark x o open line below 'x ... at first non-white O open above in line rx replace single char with x R replace characters Line Positioning Operators (double to effect line) ---------------- --------------------------------- H top window line dd delete line L last window line cc cut line to paste with p. M middle window line < left shift + next line at first > right shift non-white ! filter through command - previous line, at first = indent for LISP CR return, same as + yy yank lines to buffer down arrow or j next line, same column Miscellaneous Operations up arrow ------------------------ or k prev line, same column C change rest of line Character Positioning D delete rest of line --------------------- s substitute chars S substitute lines ^ beginning of Line. J join lines $ end of line X ... before cursor right arrow Y yank lines or l forward x delete characters left arrow Yank and Put or h backwards ------------ CTRL-H same as left arrow space same as right arrow p put back lines (num)yy yank num lines Undo,Redo,Retrieve | to specified column ------------------ % find matching () or {} u undo last change Words, Sentences, Paragraphs U restore current line ---------------------------- . repeat last change (num)yy yank num lines w word forward b back word (to first char) Commands for LISP e to last character of W ----------------- ) to next sentence } to next paragraph ) Forward s-expression ( back sentence } ... but don't stop at atoms { back paragraph ( back s-expression W word forward { ... but don't stop at B back W (to first char) E to last character of W
Saturday, April 19, 2014
Vi Vs Vim
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment