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

자신의 홈 폴더(cd ~  명령어 치면 이동하는 곳)에

 vi .vimrc   명령어를 입력해서 아래에 필요한 옵션을 입력한 후 저장한다.

============================================================================

set tabstop=4
"Tab을 눌렀을 때 4칸으로 이동하도록 한다.
set cindent
"C언어 스타일의 들여쓰기를 사용한다.
"set cin <약어>
"set nocin 
"들여쓰기 사용을 하지 않는다.
set autoindent   
"자동으로 들여쓰기를 한다.
set smartindent   
"좀더 똑똑한 들여쓰기 옵션이다.
set background=dark   
"화면배경을 좀더 어둡게 한다.
"set background=light
"화면배경을 밝게 한다.
set number   
"행번호를 보여준다.
"set nu <약어>
"set nonu
"행번호를 보이지 않게 한다.
set visualbell   
"'삐'경고음 대신 화면을 번쩍인다.
set ruler   
"화면 우측하단에 (행,열) 번호를 보여준다.
set nowrapscan   
"단어 검색시 문서 처음으로 돌아가지 않는다.
set nobackup
"백업 파일을 생성하지 않는다.
"set backup
"백업 파일을 생성한다. ex) 원본:test.c 백업파일:test.c-
set hlsearch
"검색어 강조기능을 사용한다.
"set nohls
"검색어 강조기능을 사용하지 않는다.
syntax on
"구문강조 기능을 사용한다.
filetype on
"파일종류에 따른 구문강조를 한다.

============================================================================

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

vi 편집모드 명령어  (0) 2010.09.27

+ Recent posts