~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 한 화 템 허하