~cpp 1.VI(Visual interface Editor) 내 ▶ 데 램 데(binary) 램 source data 는 문 (ASCII) ▶Editor(unix system) Line editor (ex ed) Screen editor 문 (vi) ▶Vi vi ex는 The University of California, Berkeley California computer Science Division, Department of Electrical Engineering and Computer Science ▶Vi 모 명()모 및 모 문 , , 대 등 명 ; <ESC> 모 문 (a A I ...) 료 : <ESC> 마막 (: / ? !) 대 CR(리 리) 내 료 <DEL> 럽 ; 료 ▶Vi 명 [from][.][to][명][명 ] or [n][명][명 ] 붙는 /럼 번 (z G | ) 롤 (^D ^U) 복 (대부 ) 마막 명복 명(.) 변(d s c ..) 동 복 ▶.exrc vi 동 들 vi 모 는 모 명 vi set 대 보를 만 .exrc 면 모 set default 됨 set wm=3 set sm ## . bbm bbmaster@flower.chungnam.ac.kr 바뀐 ab bbm bbmaster@flower.chungnam.ac.kr ## 링 매 map V :w^M:!spell -x %^M:e!^M^M 번 명 vi 명 리 대 를 는 명) d 명, dw는 를, db는 를 미. 명 Ctrl 른 는 ) ^u는 Ctrl를 른 u를 른는 미 모 모 램란 른 능 모를 . ) 모 따 모 모 램 들 미 립 는 명 ▶File 명 능 (↓: CR) 료 ZZ (=:wq) 는 료 면 대 료 :w ↓ 변 내 :w! ↓ :w <file>↓ name :w! <file>↓ name :q↓ vi료 Unix롬 동 :q!↓ 변 내 무 vi료 및 :e <file>↓ :e!↓ 변 :e+ <file>↓ 부 :e +n↓ n 부 :e #↓ file :e! #↓ 변 리 file :r <file> ↓ <file> 문 read :r !<명>↓ <명> 를 read :nr <file>↓ n <file> read :sh↓ vi 복(^d, exit ) :!cmd↓ 명 cmd를 복 :n args↓ 리 ^G :ta tag↓ 를 tag :f<ESC> ? $vi A B C D 4 (A B C D) 대 :n 동 복 $vi -r 명 불 (럽 ), 변 내 복 명 능 면동 / n 부 n번 동 + (n+) 를 (는 n) 동 - (n-) 를 (는 n) 동 G 마막 번 문 동 1G 번 문 동 nG n번 번 문 동 H 면 L 면 마막 M 면 CR + ↓는 j 럼 는 k 럼 1문 ^ 백 문 O $ h 는 → 방 l 는 ← 뒤 방 ^H ←(백 ) nl 럼 n 동 space →( 바) fc (nfc) 는 문 c 동 Fc (nFc) 는 문 c 동 tc (ntc) 는 문 c 동 Tc (nTc) 는 문 c 동 ; (n;) 바 방 방 문 c 동 , (n,) 바 방 대 방 문 c 동 w (nw) 는 문 () 동 W (nW) 는 () 백 동 e (ne) 는 문 () 동 E (nE) 는 () 백 동 b (nb) () 는 문 () 동 B nB 는 () 백 동 문//러 { or n{ 는 러 동 } or n} 러 동 ( 는 문 동 ) 는 문 동 ]] or n]] 동 [[ or n[[ 동 면 ^F n^F 면 보내 ^B n^B 면 뒤 보내 ^D n^D 면 롤 ^U n^U 면 롤 ^Y n^Y 뒤 동 ^E n^E 동 z 를 면 top 동, 문 롤됨 z. 를 면 동, 문 롤됨 z- 를 면 bottom 동, 문 롤됨 ^L 면 (refresh) ^R ^L →key 는 면 refesh 명 능 (insert) a 부 i 부 A 마막 I o O ^H 문를 (백 ) ^W 를 erase 문 ^H kill 말 문. \ 문 말 문를 ESC ESC 료 명 모 복 DEL 럽 모를 료 ^D 문 back tab. autointent 마 리 ^^D (^) control-d(^D)를 른. back tab. autointent 마 리 O^D back tab autointent 마 리 ^V 리 문를 ESC J 만 (delete) 문 x nx 문를 X nX 문를 D 는 모 문를 d0 부 문 dd ndd (는 n) dG 부 모 d1G 부 모 dnG 부,대 n번 모 d- 부를 d+ nd- n번 부를 nd+ n번 부를 ddp 문// d) dn) 문 d( dn( 문 문 d} dn} paragraph d{ dn{ paragraph 문 d] dn] section d[ dn[ section 부 문 범 dfc dnfc 방 번(n번) 'c'문 dFc dnFc 방 번(n번) 'c'문 dtc dntc 방 번(n번) 'c'문 dTc dnTc 방 번(n번) 'c'문 d/pat 방 면 만는 (pat) d?pat 방 면 만는 (pat) text복 p 내(change, delete, yank) 복 P 내(change, delete, yank) 복 문복 $vi -r <> <> 문 * 불 , * 명 능 cw cnw 부 (n번 ) 변 cW cnW 부 (n번 ) 변 cb cnb (n번) 부 문 변 cB cnB (n번) 부 문 변 문// c) cn) 문 변 c( cn( 문 문 변 c} cn} paragraph 변 c{ cn{ paragraph 문 변 c]] cn]] section 변 c[[ cn[[ section 부 문 변 문 cfc cnfc 방 번(n번) 'c'문 변 cFc cnFc 방 번(n번) 'c'문 변 ctc cntc 방 번(n번) 'c'문 변 cTc cnTc 방 번(n번) 'c'문 변 /문 문 10,20/문 10 20 문 1,$/문 부 문 /문/+n 방 문 n번 동 ?문 문 뒤 동 ?문?+n 방 문 n번 동 n 방 방 (/) N 방 대 (?) 롤문(^) :/^M(^V+^M) 롤 문(^)를 면 낼 는 먼 ^V를 른 는 롤 문를 눌러 (replacement) : [범]s/old/new/[cgi] ( . , * [ ^ $ \ / &) (\. \* \[ \^ \$ \ \/ \&) [범] [] 번 [$] [. ] [%] [cgi] [c] 변 변부를 물 본 [g] 모 변 [i] 대 문 는 :s/old/new/g 대 :10,$s/old/new/g 10 :g/A/s//B/g A를 (g/A) A를 B (s//B), s뒤 //는 text를 복 (/g) :g/ABC/s/B/Z/g ABC를 (s/B/Z) ABC B 를 Z (/g) 복 (/g) 명 능 Mark(마) mc 를 'c' ('c' 는 1문며 문) 동 'c 'c' 동 ` 'c' 문 동 " , 바 동 `` , 문 동 블럭 / :10,20w 명 10 20 명 :10,20w >> 명 10 20 명 :10,20r 명 10 20 명 르(yank) "a5dd 부 5, a는 복 yw 를 3yw 3를 y$ y) 문 yy nyy (n) (Y) "a5Y 부 5 a는 붙(put) p 내 른 P 내 "ap a 는 내 "np n번 명, yank명 내 붙 매(복는 ) :map<><능> <> 는 10 <능> 100 *) vi bug 모 모 매 동는 는 :unmap <> 매 :map #n <능> 만 <> #n - n 0 9 - 면, 매 . :map #2 :w^M 문를 능 F2를 르면 :w^M :map V :w^M:!ispell -x $^M:e!^M^M (문 ) :map #2 :w^M: !cc %^M:e!^M^M (vi 능 F2 ) 명 . 명 J ~ 대문 문 변 ^1 면 명 능 명 능 commond명 능 : ex모() ^f 방 면 롤 :r <file> <file> 문 read ) sentence G . . . 동(dft는 ) :r !<명> <명>를 read ( sentence ^g 를 면 :nr <file> n<file> read } paragraph h 동 :! 명를 { paragraph H 면 번 동 :sh ]] section ^h 모 backspace :x [[ section i :wq 0() line 번 문 동 I 번 :11,22w <file> 11 12 내 $ line 동 ^i tab (모) :w >> <file> <file> ^ line 번 문 동 j 동 :w! 덮 + 번 문 동 k 동 :q (변는 러 메) - 번 문 동 l 른 동 :q! 내변 료 spacebar 문 L 면 마막 동 :e <file> vi를 <file> return ^l refresh :e! 변 / 방 m 를 마 :n ? 방 M 면 동 :n <files> 리<file> % 루는 (,{,[,-),},} 동 ^m 리 리(CR) , 마막f,F,t,T명 방 n 마막 :e# <file> ; 마막f,F,t,T명 방 N 마막 방 :args 보 . 마막 명 복 ^n 동(명 모) :rew 맨 ` mark 동 o :map m n 매 ' 마 는 번 동 O :map! m n 매 ( 모) `` 마 or p :unmap m 매 '' `` P :unmap! m 매 (모) ~ 대문↔문 변 ^p 동(명 모) :ab <1> <2> " Q 내 ex :unab <1> !! 마막 명 복 r 문를 :set <option> set ! send next to commend, replace output(eg !) R 모 남 ( ESC를 를 ) :set number 번 붙 >> 른 shiftwith만 paragraph 동 ^r refresh(명 모) !} 문 unix 램 를 문 << shiftwith만 paragraph 동 s >% 른 (,{,[ 만 동 S 모 문를 대 <% (,{,[ 만 동 t 른 문 바 동 a 문 부 모 T " A ^t shiftwith 동 b 뒤 동 u 마막 명 B 백 뒤 동 U 변를 ^b 면 롤 ^u 면 롤 c 변 ^V 방 C 변 w 른 동 ^c 모 (명 x) W 백 른 d . text ^w (모) D x 문 ^d 면 롤 X 문 e 동 y . . . 를 yank E 백 동 Y yank ^e 면 롤 ^y 면 롤 f . . . z 린 top(. mid -bot) F . . . 방 ZZ (=wq) set 명 능 Option Default :set <option> <param> :set <nooption> <param> set명 는 <option> no를 붙 :set all vi 대 모 볼 autoindent(ai) noai 들 능 동 autoprint(ap) ap 명 변를 동 면 autowrite(aw) noaw 러 른 동 동(:n, :!) beautify(bf) nobf 는 동 모 문를 무 tab, newline, formfeed는 directory(dir=) /tmp 를 디리 edcmpatible noedcmpatible ed 능 errorbells(eb) errorbells 러 벨림 exrc(ex) noexrc home 디리 .exrc hardtaps=(ht=) 8 범 ignore case(ic) noic 대문 무 lisp nolisp indentation lisp list nolist 모 문 대 ^I, $를 magic magic [*. 등 문들 미를 mesg masg 대 를 number(nu) nonumber 미 는 메를 능 open noopen Vi모를 ex 능 optimize(opt) optimize paragraphs=(para=) IPLPPQPPLIbp 문맥 매 prompt prompt ex명 prompt readonly(ro) noro ! 부는 방 reraw noredraw remap remap map 문들 복 report= 5 변 리 매 scroll 1/2 롤 를 sections= SHNHH section 매를 shell=(sh=) shiftwith=(sw=) 른 를 는 명 showmatch(sm) {,(등 눌린 매는 },) 1 동 돌 showmode noshowmode 모 면 "input mode" slowopen(slow) tab 눌 동 tabstop(ts=) 른 tab 른 taglength(tl=) tab 내 미는 문를 tags= tag /usr/lib/tags 명 는 pass term= 미 timeout(to) timeout 러 메 tty type= Set 1 매 "time out" warn warn 미 window=(w=) 내 명 메를 wrapmargin=(wm=) 0 면 보 를 wrapscan(ws) ws 마 writeany(wa) nowa 는 범내 능