vi명령어

linux 2008. 3. 7. 15:22

v(블럭지정) > > >zf(묶기) ,zx(풀기)
^v(블럭지정) > -> zo(펼치기) , zc(다시닫기)

----------------------------------------------------------------------
set ft=php
windows
set bg=dark
set sw=2
set ts=2
set nobackup
set nu
set ai
colors darkblue
set fdm=marker
set guifont=굴림체:h16:b:cHANGEUL
vimrc
set nu
set bg=dark
set ai
set fdm=marker

레지스터 저장 방법
shift + v (블럭 설정)
"ay 레지스터 a에 저장

:register


vi 편집기

sh 잠시 프롬프트로 빠짐
ctrl + v 앞쪽만 자르기
set noai 자동정렬 해제

zf : 라인 줄이기 zc
zx :라인 풀기 zo

> 화면이동
^w

> 글 입력
a : 커서 위치의 다음 칸부터부터 끼워넣기(append)
A : 커서가 있는 줄의 끝에서부터 끼워넣기
i : 커서 위치부터 끼워넣기(insert)
I : 커서가 있는 줄의 맨 앞에서부터 끼워넣기
o : 커서 바로 아래에 줄을 만들고 끼워넣기(open line)
O : 커서 바로 위에 줄을 만들고 끼워넣기

> 커서 이동
h : 한칸 왼쪽으로 이동
l : 한칸 오른쪽으로 이동
j : 한줄 아래로 이동
k : 한줄 위로 이동
w : 다음 단어의 첫 글자로 이동
W : 다음 단어의 첫 글자로 이동
b : 이전 단어의 첫 글자로 이동
B : 이전 단어의 첫 글자로 이동
e : 단어의 마지막 글자로 이동
E : 단어의 마지막 글자로 이동
^ : 그 줄의 첫 글자로 이동
$ : 그 줄의 마지막 글자로 이동
0 : 그 줄의 처음으로 이동
<CR> 다음 줄의 첫 글자로 이동

+ : 다음 줄의 첫 글자로 이동
- : 윗줄의 첫 글자로 이동
( 이전 문장의 첫 글자로 이동 ) 다음 문장의 첫 글자로 이동
{ 이전 문단으로 이동 } 다음 문단으로 이동


> 글 수정
r : 커서 위치의 한 글자 교체
R : 커서 위치부터 <ESC>를 누를때까지 다른 글자로 교체
s, cl : 커서 위치의 글자를 한개를 여러 글자로 교체
ch : 커서 바로 앞의 글자를 한개를 여러 글자로 교체
cw : 커서 위치의 한 단어를 교체
c0 : 커서 위치부터 줄의 처음까지 교체
C, c$ : 커서 위치부터 줄의 끝까지 교체
cc : 커서가 있는 줄을 교체
cj : 커서가 있는 줄과 그 다음 줄을 교체
ck : 커서가 있는 줄과 그 앞줄을 교체


> 글 삭제
x, dl : 커서 위치의 글자 삭제
X, dh : 커서 바로 앞의 글자 삭제
dw : 한 단어를 삭제
d0 : 커서 위치부터 줄의 처음까지 삭제
D, d$ : 커서 위치부터 줄의 끝까지 삭제
dd : 커서가 있는 줄을 삭제
dj : 커서가 있는 줄과 그 다음 줄을 삭제
dk : 커서가 있는 줄과 그 앞줄을 삭제


> 복사 & 붙이기
yw : 커서 위치부터 단어의 끝까지 복사
y0 : 커서 위치부터 줄의 처음까지 복사
y$ : 커서 위치부터 줄의 끝까지 복사
yy : 커서가 있는 줄을 복사
yj : 커서가 있는 줄과 그 다음 줄을 복사
yk : 커서가 있는 줄과 그 앞줄을 복사
p : 커서의 다음 위치에 붙여넣기
P : 커서가 있는 위치에 붙여넣기


> 기타
u : 작업 취소(undo)
U : 그 줄에 행해진 작업 모두 취소
Ctrl+r : 작업 재실행(redo)
. : 조금 전에 했던 명령을 반복
J : 현재 줄과 아래 줄을 연결
~ : 대문자를 소문자로, 소문자를 대문자로 바꿈
% : 괄호의 반대쪽 짝으로 이동
Ctrl+l : 현재 화면을 지우고 다시 그림
Ctrl+g : 파일에 관한 정보를 표시


> 화면 이동
H : 커서를 화면의 맨 위로
z<CR> : 현재 줄을 화면의 맨 위로
M : 커서를 화면의 중앙으로
z. : 현재 줄을 화면의 중앙으로
L : 커서를 화면의 맨 아래로
z- : 현재 줄을 화면의 맨 아래로
[n]H : 커서를 위에서 [n]번째 줄로 [n]L 커서를 아래에서 [n]번째 줄로
Ctrl+u : 반 화면 위로 스크롤
Ctrl+b : 한 화면 위로 스크롤
Ctrl+d : 반 화면 아래로 스크롤
Ctrl+f : 한 화면 아래로 스크롤
gg, 1G 문서의 맨 처음 줄로
G : 문서의 맨 마지막 줄로
[n]G [n]번째 줄로 이동


> 패턴검색, 교체
/[pattern]<CR> : 현재 위치에서부터 아래 방향으로 패턴 검색
? [pattern]<CR> : 현재 위치에서부터 위쪽 방향으로 패턴 검색
n : 검색하던 방향으로 계속 패턴 검색
N : 검색하던 반대 방향으로 계속 패턴 검색

:s/old/new<CR> : 현재 줄의 처음 old를 new로 교체
:s/old/new/g<CR> : 현재 줄의 모든 old를 new로 교체
:1,20s/old/new/g<CR> : 1부터 20번째 줄까지 모든 old를 new로 교체
:-2,+4s/old/new/g<CR> : 커서 2줄 위부터 4줄 아래까지 old를 new로 교체
:%s/old/new/g<CR> : 문서 전체에서 old를 new로 교체
:%s/old/new/gc<CR> : 문서 전체에서 old를 new로 확인하며 교체
:g/pattern/s/old/new/g<CR> : pattern이 있는 모든 줄의 old를 new로 교체
:g/pattern/s//new/g<CR> : :%s/old/new/g<CR>과 동일


> 끝줄모드
:q<CR> : vi를 종료함
:w<CR> : 편집중인 문서를 저장
:w [file]<CR> : 편집중인 문서를 [file]로 저장
:w >> [file]<CR> : 편집중인 문서를 [file]에 덧붙여서 저장
:e [file]<CR> : [file]을 불러옴
:e#<CR> : 이전에 편집하던 파일을 불러옴
:e%<CR> : 현재 파일을 다시 불러옴, 즉 저장하지 않은 작업 취소
:r [file]<CR> : [file]을 커서위치에 끼워넣기
:set [option]<CR> : [option]을 켜기
:set [nooption]<CR> : [option]을 끄기
:![command]<CR> : [command] 실행
:r ![command]<CR> : [command] 실행 결과를 끼워넣기


글 보관함

카운터

Total : / Today : / Yesterday :
get rsstistory!