Linux,Unix,BSD

vi 명령어 모음...

채윤아빠 2009. 3. 7. 14:07
728x90
반응형
☆ 삽입 명령
명령어설명
a커서 뒤에 입력
A라인 끝에 입력
i커서 앞에 입력
I라인시작 부분에 입력
o커서 있는 라인 밑에 입력
O커서가 있는 라인 위에 입력


☆ 커서 이동 명령
명령어설명
h왼쪽으로 커서 한 칸 이동
H화면의 처음으로 이동
L오른쪽으로 한 칸 이동
L화면 끝으로 이동
e다음 단어의 마지막으로 이동
E커서를 공백으로 구분된 다음 단어 끝으로 이동
b한 단어 뒤로
B커서를 공백으로 구분된 이전 단어로 이동
w커서를 한 단어 뒤로
W커서를 공백으로 구분된 다음 단어로 이동
k커서를 한 라인 위로
j커서를 한 라인 아래로 이동
O커서를 라인의 시작으로 이동
$커서를 라인의 끝으로 이동
Enter커서를 다음 라인 시작으로 이동
-커서를 전 라인의 시작으로 이동
Ctrl + F다음 화면으로 이동
Ctrl + D화면의 반만 앞으로 이동
Ctrl + B전 화면으로 이동
Ctrl + U화면의 반만 뒤로 이동
G커서를 텍스트 마지막 라인으로
숫자G커서를 숫자 라인만큼 이동
M커서를 화면 중간 라인으로 이동
커서를 전 위치로 이동
(문장의 시작으로 이동
{문단의 시작으로 이동
)문장 끝으로 이동하여 다음 단어의 시작으로 커서 이동
}문단 끝으로 이동


☆ 방향키를 이용한 커서 이동 명령
명령어설명
<-, Del왼쪽으로 커서 한 칸 이동
PageUp화면 위로 이동
->, Space오른쪽으로 한 칸 이동
PageDown화면 아래로 이동
윗 줄로 커서 이동
Enter다음 줄 첫 칸으로 이동
아래 줄로 커서 이동
Esc다음 줄 첫 칸으로 이동
Home줄 처음 칸으로 이동


☆ 삭제 명령
명령어설명
x커서가 있는 문자 삭제
X커서가 있는 문자 앞에 있는 문자 삭제
dw커서가 있는 단어 삭제
db커서가 앞에 있는 단어 삭제
dW공백으로 구분된 뒷 단어 삭제
dB공백으로 구분된 앞 단어 삭제
dd커서가 있는 라인 삭제
D커서가 있는 라인의 나머지 삭제
d)문장의 나머지 삭제
d}문단의 나머지 삭제
dG파일의 나머지 삭제
dH화면의 시작까지 삭제
dL화면의 나머지 삭제
J커서와 다음 단어의 공백을 모두 삭제


☆ 바꾸기 명령
명령어설명
r커서에 있는 문자 대치
R입력 모드로 한 문자씩 덮어씀
s커서가 있는 문자 삭제 후 입력 모드로 전환
S커서가 있는 줄을 삭제 후 입력 모드로 전환
cb커서가 있는 앞 문자 삭제 후 입력 모드
cW공백으로 구분된 뒷 단어를 삭제 후에 입력 모드
cB공백으로 구분된 앞 단어 삭제 후 입력 모드
cc커서가 있는 라인을 삭제하고 입력 모드
C커서가 있는 라인의 나머지를 삭제하고 입력 모드로 전환
cO커서에서부터 라인의 시작까지 텍스트 바꾸기
c특정 텍스트 바꾸기
c)문장의 나머지 바꾸기
c}문단의 나머지 바꾸기
cG파일의 나머지 바꾸기
cm표시까지 모든 것 바꾸기
cL화면의 나머지 바꾸기
ch화면의 시작까지 바꾸기


☆ 복사
명령어설명
yw커서가 있는 단어를 복사
yb커서가 있는 앞 단어를 복사
yW공백으로 구분된 뒷 단어 복사
yB공백으로 구분된 앞 단어를 복사
y특정한 다음 텍스트 복사
yy커서가 있는 라인을 복사, 커서가 가리키는 곳으로 라인을 이동
y)문자의 나머지 복사
y}문단의 나머지 복사
yG파일의 나머지 복사
yH화면의 시작까지 복사
yL화면의 나머지 복사


☆ 텍스트 이동
명령어설명
p삭제나 복사된 텍스트를 커서가 있는 문자나 라인 뒤에 삽입
P삭제나 복사된 텍스트를 커서가 있는 문자나 라인 앞에 삽입
dw p커서가 있는 단어를 삭제한 후 이를 원하는 곳 커서 뒤로 삽입
dw P커서가 있는 단어를 삭제한 후 이를 변경한 커서가 있는 곳으로 삽입
d p지정한 다음 텍스트로 삭제한 후 커서가 가리키는 곳으로 이동
d) P문장의 나머지로 이동
d} p문단의 나머지로 이동
dG P파일의 나머지로 이동
dH P화면 시작 부분으로 이동
dL P화면의 나머지를 이동


☆ vi 에디터 종료 마치기 명령
명령어설명
:q그대로 종료하기
:q!변경된 내용을 저장하지 않고 강제로 종료하기
:wq변경된 내용을 저장하고 종료하기
:x:wq와 동일한 명령
ZZ:wq와 동일한 명령


☆ 검색
명령어설명
/pattern텍스트에서 앞으로 패턴 검색
>pattern텍스트에서 뒤로 패턴 검색
n앞 또는 뒤로 이전 검색 반복
N반대 방향으로 이전 검색 반복
/전 검색을 앞으로 반복
?전 검색을 뒤로 반복


☆ 문자열 치환
명령어설명
:s/old/new현재 행의 처음 old를 new로 교체
:s/old/new/g현재 행의 모든 old를 new로 교체
:10,20s/old/new/g10행부터 20행까지 모든 old를 new로 교체
:-3,+4s/old/new/g현재 커서 위치에서 3행 위부터 4행 아래까지 old를 new로 교체
:%s/old/new/g문서 전체에서 old를 new로 교체
:%s/old/new/gc문서 전체에서 old를 new로 확인하며 교체
:g/pattern/s/old/new/gPattern이 있는 모든 행의 old를 new로 교체
:g/pattern/s//new/g:%s/old/new/g와 동일


☆ 옵션
옵션약어기능기본값
autoindentai들여 쓰기 가능, 탭으로 들여 쓰기 범위 지정off
autoprintap줄이 바뀔 때 현재 줄을 화면상에서 출력on
errobellsed명령 에러가 발생시 삑 소리나게 함off
numbernu줄 번호를 나타나게 함off
reportreport편집시 메시지를 보낼 편집 변화 크기 지정5
showmatchsm가로 닫기 괄호를 사용할 때 일치하는 가로 열기 괄호를 보여줌off
wamwam저장하지 않고 vi 종료할 때 경고 메시지를 뿌려 줌on
ignorecaseic검색 패턴에 사용되는 대소문자 구별하지 않음on
tabstopp=nts=n탭 공백을 n 수만큼 지정8
wrapmargin=nwm=n텍스트 오른쪽 여백을 n 수만큼 지정0


☆ Mark 사용
명령어설명
mx현재 위치를 x 이름의 마크로 저장
``이전에 마크한 위치로 이동
`x마크한 위치(행, 열)로 이동
‘’이전에 마크한 줄로 이동
‘x마크한 줄로 이동


☆ Named Buffer 사용
명령어설명
“ayy현재 줄을 "a 버퍼에 복사
“Ayy기존의 버퍼에 현재 줄을 버퍼에 추가
"ap“a 버퍼에 복사된 데이터를 붙여 넣기
☞‘a’ 부터 ‘z’ 까지 사용가능


☆ 여러 문서 편집 ( vi filename1, filename2 … 로 실행 ; 여러 파일 열기)
명령어설명
:nvi로 open한 여러 파일중 다음 파일로 전환
:Nvi로 open한 여러 파일중 이전 파일로 전환
:4n여러 파일중 4개 파일 skip후 파일 Open
:args현재 열린 모든 파일중 현재 편집중인 파일 표시