본문 바로가기

리눅스/Vi 편집기

vi 편집모드 명령어

VI 사용하기  
VI 명령어 모드 3가지  
1) ESC 모드  
2) 편집모드  
3) ex모드  

ESC 모드에서 사용되는 명령어  
^        :  현재줄의 맨앞  
G        :  화일의 맨끝  
0        :  현재줄의 맨앞  
$        :  현재줄의 맨뒤  
%        :  짝을 이루는 기호 확인하기  
w        :  다음 단어  
b        :  이전 단어  
e        :  현재 단어의 끝 글자  

커서 움직이기  
글자 단위 이동  
k        :    위쪽  
j        :    아래쪽  
h        :    왼쪽  
l        :    오른쪽  
           
             
   줄 단위 이동  

^       :   줄의 맨앞  
0       :   줄의 맨앞  
$       :   줄의 맨뒤  
%       :   짝을 이루는 기호 확인  

+       :   다음줄의 첫번째 글자  
-       :   윗줄의  첫번째 글자  
n|      :   현재줄의 n 번째 열  
H       :   화면상에 처음줄  
nH      :   화면상의 처음줄로부터 n 줄 밑으로  
M       :   화면상의 중간줄  
L       :   화면상의 마지막줄  
nL      :   화면상의 마지막줄로부터 n줄 위로  

G       :   맨 마지막줄  
nG      :   n 번째줄  
gg      :   맨 마지막줄  
ngg     :   n 번째줄  
:n      :   n 번째줄  

단어 단위 이동  
w       :   한단어 오른쪽  
b       :   한단어 왼쪽  
e       :   현재 단어의 끝으로 이동  
E       :   현재 단어의 끝으로 이동 (영문만)  
)       :   다음 문장의 시작  
(       :   이전 문장의 시작  
}       :   다음 문단의 시작  
{       :   이전 문단의 시작  
]]      :   다음 섹션의 시작  
[[      :   이전 섹션의 시작  

화면단위 이동  
z                     커서의 위치와 함께, 화면상의 맨위  
nz                     n번 라인을 화면상의 맨위  
z.                     커서의 위치와 함께, 화면상의 중간  
z-                     커서의 위치와 함께, 화면상의 맨아래  
Control - F(orward)    한화면   밑으로 이동.  
Control - B(ackward)  한화면   위로   이동.  
Control - D(own)      반쪽화면 밑으로 이동.  
Control - U(pon)       반쪽화면 위로   이동.  
Control - E           커서는 현재위치 그대로 화면만 한줄씩  
                                위로   이동  
Control - Y           커서는 현재위치 그대로 화면만 한줄씩  
                                아래로 이동  
Control - G           현재 편집문서의 정보 보여주기  
Control - L           글자가 깨졌을 경우 화면 재표시  
                            (=Control - R)  
     
편집하기  
복사/ 붙이기/ 합치기  
y          복사하기  
yy         한줄복사  (=Y)  
nyy        n줄 복사  
yw         한단어 복사  
y2w        두단어 복사  
yG         문서의 끝까지 복사  
p          붙이기  
np         아래로(오른쪽으로) n번 붙이기  
P          위로(왼쪽으로) 붙이기  
nP         위로(왼쪽으로) n번 붙이기  
J          두줄 합치기  
nJ         n줄 합치기  

지우기/바꾸기/되살리기  
d          지우기  
dd         한줄지우기  
ndd        n줄지우기  
dw         한단어 지우기  
dG         문서 끝까지 지우기  
D          그줄 끝까지 지우기 (=d$ 와 동일)  
c          바꾸기  
cc         한줄바꾸기  
ncc        여러줄 바꾸기 (n 은 임의의숫자)  
cw         한단어 바꾸기  
ce         한단어 바꾸기 (공백 제외)  
C          그줄 끝까지 바꾸기 (=c$ 와 동일)  
r          한글자 바꾸기  
R          바꾸면서 덮어 쓰기  
s          한글자 지우고 insert 모드로 (=cl )  
S          한줄지우고 insert 모드로 (=cc)  
~          대문자 / 소문자 바꾸기 (영문만)  
u          되살리기  

찾기  
/          찾기반복 - 위에서 아래로 (=n)  
?          찾기반복 - 아래에서 위로(=N)  
fn         현재줄에서 한 개의 n문자 찾기  
Fn         현재줄에서 반대방향으로 한 개의 n문자 찾기  
tn         현재줄에서 n문자를 찾아서 앞에 커서놓기  
Tn         현재줄에서 반대방향으로 n문자를 찾아서 뒤에 커서놓기  
;          현재줄에서 한글자 찾기반복  
'          현재줄에서 한글자 찾기반복 (반대방향으로)  

편집모드 지정하기  
i          현재커서위치  
I          현재커서가 위치한 줄의 맨처음에  
a          현재커서위치 바로 다음에  
A          현재커서가 위치한 줄의 맨끝에  
o          현재커서위치 바로 아래줄에  
O          현재커서위치 바로 윗줄에  

ex 명령어  
:n,n1 co n2           n줄 부터 n1줄 까지 n2줄 이후로 복사.  
:n,n1 d               n1줄 부터 n2줄 까지 삭제.  
:.,$ d                현재줄부터 끝까지 지우기  


g 옵션 붙이기  
:g/word            화일전체에서 마지막으로 word이 쓰여진 줄로  
가기  
:g/word/ p         화일전체에서 word이 있는줄 보여주기  
:g/word/ nu        화일전체에서 word이 있는줄을 번호와 함께 보  
여주기  


g 옵션과 바꾸기  
,n s/old/new/g    rn 줄부터 n줄까지 old라는 문자를 new문자로  
                        바꾸면서 확인하기.      :%  
s/old/new/g       처음줄부터 마지막줄까지 old라는 문자를  
                         new문자로 바꾸기  

읽기  

:r filename(=ex /usr/local/test)      현재위치에 filename  
                                     (=ex /usr/local/test)  
                                     읽어들이기  

다중편집하기  
      형식  vi file1 file2 file3  
:args           편집중인 화일목록 보여주기  
:n              다음 화일로 넘어가기  
:prev           이전화일로 돌아가기  


새로운 화일 편집하기  
:e file_name         새로운 file_name 편집하기.                
:e!                  현재의 편집중인 내용을 무시하고 가장  
                    최근에 편집한 내용을 다시편집하기  



저장 및 종료하기  
:w                     저장하기 (write)  
:q                     종료하기 (quit)  
:wq                    저장하고 종료하기  
:x                     저장하고 종료하기 (:wq 와 동일)  
:w!                    강제로 저장하기  
                      (read-only 로 열었을경우)  
:wq!                   강제로 저장하고 종료하기  
:q!                    편집한 내용을 저장하지 않고 종료하기  
:w fillename           새로운 파일이름으로 저장하기  
:w %.new               현재화일 이름에 .new 라는 새로운 확장자로 저장

'리눅스 > Vi 편집기' 카테고리의 다른 글

.vimrc 설정 명령어  (0) 2010.09.27