호스팅 사용법
호스팅 신청하기
도메인 연결하기
홈페이지 올리기
이메일 설정하기
서버 사용법
FTP사용법
메일사용법
텔넷/리눅스
MySQL사용법
MSSQL사용법
리눅스명령어 모음
시스템사용법
서버세팅
네트워크/보안
L4 매뉴얼
백업/미러링
호스팅용어 모음
프로그램 사용법
알리미사용법
제로보드설치방법
워드프레스설치방법
태터툴즈설치방법
그누보드설치방법
우편번호DB사용법
폼메일사용법
주문서사용법
예전 게시판/방명록
전자지불 서비스


HOME > 호스팅 > 사용안내 > 텔넷/리눅스 > vi 사용법
텔넷사용법  리눅스 기본명령어  비밀번호변경  계정사용량  사용자인증 
vi 사용법  모니터링  관련사이트 

    vi는 유닉스 환경에서 가장 많이 쓰이는 문서 편집기입니다.
    vi라는 이름은 한 줄씩 편집하는 줄단위 편집기가 아니라 한 화면을 편집하는 비주얼 에디터(visual editor)라는 뜻에서 유래했으며 간결하지만 강력한 기능을 가지고 있습니다.
(1) 시작
vi 파일 : vi를 시작하여 지정한 파일을 편집한다.
vi -R 파일 : 지정한 파일을 읽기 전용으로 불러들인다.
(2) 종료
:wq : 데이터를 저장하고 종료한다.
:q! : 데이터를 저장하지 않고 종료한다.
(3) 이동
h : 커서를 한 칸 왼쪽으로 이동한다.
j : 커서를 한 줄 아래로 이동한다.
k : 커서를 한 줄 위로 이동한다.
l : 커서를 한 칸 오른쪽으로 이동한다.
: 커서를 한 칸 왼쪽으로 이동한다.
: 커서를 한 칸 오른쪽으로 이동한다.
- : 커서를 이전 줄의 처음으로 이동한다.
+ : 커서를 다음 줄의 처음으로 이동한다.
: 커서를 다음 줄의 처음으로 이동한다.
0 : 커서를 현재 줄의 맨 앞으로 이동한다.
$ : 커서를 현재 줄의 맨 끝으로 이동한다.
^ : 커서를 현재 줄의 공백이나 탭이 아닌 첫 글자로 이동한다.
w, W : 커서를 다음 단어의 첫 글자로 이동한다.
e, E : 커서를 다음 단어의 끝 글자로 이동한다.
b, B : 커서를 이전 단어의 첫 글자로 이동한다.
( : 다음 문장의 처음으로 이동한다.
) : 이전 문장의 처음으로 이동한다.
{ : 다음 문단의 처음으로 이동한다.
} : 이전 문단의 처음으로 이동한다.
H : 커서를 화면 맨 위로 이동한다.
M : 커서를 화면 중간으로 이동한다.
L : 커서를 맨 아래로 이동한다.
^F : 한 화면 아래로 이동한다.
^B : 한 화면 위로 이동한다.
n^F : n화면 아래로 이동한다.
n^B : n화면 위로 이동한다.
^D : 반화면 아래로 이동한다.
^U : 반화면 위로 이동한다.
n^D : n줄만큼 아래로 이동한다.
n^U : n줄만큼 위로 이동한다.
(4) 입력
i : 입력 모드로 전환, 커서 위치 앞에서 글을 입력한다.
a : 입력 모드로 전환, 커서 위치 뒤에서 글을 입력한다.
I : 입력 모드로 전환, 현재 줄의 앞에 글을 입력한다.
A : 입력 모드로 전환, 현재 줄의 끝에 글을 입력한다.
o : 입력 모드로 전환, 현재 줄의 아래에 글을 입력한다.
O : 입력 모드로 전환, 현재 줄의 위에 글을 입력한다.
(5) 삭제
x : 커서가 있는 문자를 삭제한다.
X : 커서의 왼쪽 문자를 삭제한다.
D : 커서부터 줄의 끝까지 삭제한다.
dd : 현재 줄 전체를 삭제한다.
dG : 커서부터 파일의 끝까지 삭제한다.
d1G : 커서부터 파일의 맨 앞까지 삭제한다.
:nd : n번째 줄을 삭제한다.
:n, md : n번째 줄부터 m번째 줄까지 삭제한다.
(6) 고치기
r : 입력모드로 바뀌지 않고 한 글자만 변경한다.
R : 입력하는 대로 겹쳐 써서 변경한다.
s : 커서가 있는 위치의 한 글자를 지우고 거기서부터 글을 입력한다.
S : 커서가 있는 행을 지우고 글을 입력한다.
C : 커서의 위치로부터 줄 끝까지 지우고 거기서부터 글을 입력한다.
cc : 커서가 있는 행을 지우고 글을 입력한다.
~ : 대, 소문자를 서로 바꾼다.
u : 수정했던 마지막 명령을 취소한다.
U : 현재 줄을 저장한다.
. : 수정했던 마지막 명령을 반복한다.
(7) 붙이기
p : 마지막으로 지워진 내용을 커서의 뒤, 아래에 삽입한다.
P : 마지막으로 지워진 내용을 커서의 앞, 위에 삽입한다.
xp : 두 문자를 바꾼다.
deep : 두 단어를 바꾼다.
ddp : 두 줄을 바꿈
(8) 복사와 이동
:ncom : n줄을 m줄 밑에 복사해서 붙인다.
:n, mcol : n줄부터 m줄까지 한 줄 밑에 복사해서 붙인다.
nyy, nY : 커서에서 n줄을 복사한다.
nyw : 커서에서 n단어만큼 복사한다.
(9) 치환
:s/원래내용/고칠내용/ : 현재 줄에서 원래 내용을 고칠 내용으로 치환한다.
:ns/원래내용/고칠내용/ : n줄에서 원래 내용을 고칠 내용으로 치환한다.
:n,ms/원래내용/고칠내용/ : n줄에서 m줄까지 원래 내용을 고칠 내용으로 치환한다.
:%s/원래내용/고칠내용/ : 모든 줄의 원래 내용을 고칠 내용으로 치환한다.
(10) 검색
/단어 : 지정된 단어를 현재 위치에서 아래로 찾는다.
/ : 이전의 패턴에 대해 아래로 검색을 반복한다.
?단어 : 지정된 단어를 현재 위치에서 위로 찾는다.
? : 이전의 패턴에 대해 위로 검색을 반복한다.
n : /나 ?명령에 대해 같은 방향으로 검색을 반복한다.
N : /나 ?명령에 대해 반대 방향으로 검색을 반복한다.
(11) 약어사용
:ab short long : short를 long에 대한 약어로 변경한다.
:ab : 현재 지정되어 있는 약어 목록을 표시한다.
:una short : short를 약어에서 해제한다.
(12) 줄의 병합, 분리
r : 문자를 새로운 줄로 변경한다.
J : 커서를 중심으로 앞줄과 뒷줄을 한 줄로 합친다.
:set wm=n : 오른쪽으로 n문자 위치에서 자동적으로 줄을 나눈다.
(13) 데이터 읽기
:nr 파일 : 파일의 내용을 n줄 다음에 삽입한다.
:r 파일 : 파일의 내용을 현재의 줄 다음에 삽입한다.
:nr !명령어 : 명령어의 결과를 n줄 다음에 삽입한다.
:r !명령어 : 명령어의 결과를 현재의 줄 다음에 삽입한다.
(14) 줄번호
nG : 줄번호 n으로 바로 간다.
1G : 첫 줄로 간다.
G : 파일의 마지막 줄로 간다.
:map g lG : g가 lG와 같도록 매크로를 정의한다.
(15) 파일 바꾸기
:e 파일 : 현재 작성하고 있던 파일에서 지정한 파일로 바꾼다.(작성하고 있던 파일이 저장되어 있지 않으면 바뀌지 않음)
:e! 파일 : 현재 작성하고 있던 파일이 저장이 되지 않았더라도 지정한 파일로 바꾼다.
(16) 저장
:w : 데이터를 저장한다.
:w 파일 : 지정한 파일로 데이터를 저장한다.
:w >> 파일 : 지정한 파일에 데이터를 추가한다.
:w! : 읽기 전용일 경우 데이터를 강제로 저장한다.
:w %.bak : 현재 파일 이름에 .bak를 붙여서 새로운 파일로 저장한다.
:10,$ w 파일 : 10줄부터 끝까지 파일 이름으로 저장한다.
:.,50 w 파일 : 현재 줄부터 50줄까지 파일 이름으로 저장한다.
(17) 정규표현식을 사용하기 위한 특수기호
. : 새로운 줄을 제외한 모든 단일 문자와 대응한다.
* : 0 또는 그 이상의 선행 문자와 대응한다.
^ : 줄의 시작과 대응한다.
$ : 줄의 끝과 대응한다.
\< : 단어의 시작과 대응한다.
\> : 단어의 끝과 대응한다.
[ ] : 묶여진 문자중의 하나와 대응한다.
[^ ] : 묶여진 문자를 제외한 아무것하고나 대응한다.
\ : 이어지는 기호를 문자 그대로 해석한다.
(18) 셸 명령 실행
:!명령어 : vi를 중단하고 지정한 셸 명령을 실행한다.
:!! : vi를 중단하고 이전의 셸 명령을 실행한다.
:sh : vi를 중단하고 셸을 실행한다.
:!csh : vi를 중단하고 새로운 C셸을 실행한다.
(19) 데이터를 처리하기 위한 셸명령의 사용
n!!명령어 : n번 줄에서 명령어를 실행한다.
!m 명령어 : 커서부터 m까지 명령어를 실행한다.
!m fmt : 커서부터 m까지 줄들을 형식에 맞춘다.
(20) 시스템이 다운되었을 경우 되살리기
vi -r : 되살릴 수 있는 모든 파일 이름을 보여준다.
vi -r 파일 : vi를 시작하여 지정한 파일을 되살린다.
(21) 화면보기
^l : 화면을 다시 뿌려준다.(= ^L)
:set nu : 줄 번호를 표시해 준다.(= :set number)
:set nonu : 줄 번호를 표시하지 않는다.(= :set nonumber)
:set list : 탭은 ^I로 줄의 끝은 $로 표시한다.
:set nolist : list 값을 취소한다.
:set tabstop=n : 탭의 크기를 n으로 지정한다. 기본은 8이다.

사이트명 : 뉴21 | 회사명 : (주)아사달 | 대표이사 : 서창녕 | 대표전화 : 02-2026-2000 | 팩스번호 : 02-2026-2008
사업자등록번호 : 206-81-24351 I 법인등록번호 : 110111-1940504 | 통신판매업신고 : 제18-890호 I 벤처확인번호 : 051134562200563
(우편번호 : 153-803) 서울특별시 금천구 가산동 371-28 우림라이온스밸리 A,동 8층 (주)아사달
Internet Explorer Google Chrome Mozilla Firefox
Apple Safari Opera browser
페이지 맨 위로 이동하기