vi 명령어 사용법
출처 : 순수비행
< VI 명령어 모음>
문서의 처음으로 : 1gg 한페이지 뒤로 : ctrl + b 한라인의 처음으로 : shift + 6 (혹은 0) 한줄 위로 : k 한칸 뒤로 : h 한칸 앞으로 : l (소문자 L) 한줄 아래로 : j 한페이지 앞으로 : ctrl + f 한라인의 끝으로 : shift + 4 문서의 끝으로 : shift + g 매치되는 괄호찾기 : shift + 5 단어 삭제 : dw 한줄 삭제 : dd 빈줄삭제 : J 커서의 위치로부터 오른쪽의 문자를 모두 지운다. : D 가장 최근의 `/'|`?' 를 반복한다 : n n 을 반대방향으로의 수행. : N 작업 취소 : u 한줄 복사 : yy, Y 붙여 넣기 : p 블럭지정 라인단위 Visual Mode : shift + v 블럭단위 Visual Mode : ctrl + v |
화면분할 수평 분할 : ctrl + w + n 수직 분할 : ctrl + w + v 창 삭제 CTRL+w q : 커서가 있는 창을 닫음 CTRL+w o : 현재 커서가 있는 창을 제외한 모든 창을 닫음 (단, 수정이 안된 창들만 닫힘) 창 이동 CTRL+ww : 창 간에 이동 CTRL+wh : 왼쪽(h) 창으로 이동 CTRL+wl : 오른쪽(l) 창으로 이동 CTRL+wj : 상단(j) 창으로 이동 CTRL+wk : 하단(k) 창으로 이동 창 크기 조절 CTRL+w = : 모든 창의 크기를 균등하게함 CTRL+w [N]+ : 창의 크기를 N행만큼 증가 CTRL+w [N]- : 창의 크기를 N행만큼 감소 CTRL+w [N]> : 창의 크기를 오른쪽으로 N칸만큼 증가 CTRL+w [N]< : 창의 크기를 왼쪽으로 N칸만큼 증가 |
저장 및 종료
명령어 |
설명 |
:w |
저장 |
:w file.txt |
file.txt 파일로 저장 |
:w >> file.txt |
file.txt파일에 덧붙여서 저장 |
:q |
vi종료(저장이 안됐을시 경고) |
:q! |
vi강제 종료(경고 무시) |
:wq! |
강제 저장 후 종료 |
:e file.txt |
file.txt파일을 불러옴 |
:e |
현재 파일을 불러옴 |
입력모드 전환
명령어 |
설명 |
a |
커서위치 다음 칸부터 입력 |
i |
커서의 위치에 입력 |
o |
커서의 다음 행에 입력 |
s |
커서 위치의 한 글자를 지우고 입력 |
이동
명령어 |
설명 |
h |
왼쪽으로 이동 |
l |
오른쪽으로 이동 |
j |
아래 행으로 이동 |
k |
위 행으로 이동 |
w |
다음 단어의 첫 글자로 이동 |
b |
이전 단어의 첫 글자로 이동 |
^ |
그 행의 첫 글자로 이동 Home키와 동일 |
$ |
그 행의 마지막 글자로 이동 End키와 동일 |
gg |
문서의 맨 첫 행으로 이동 |
G |
문서의 맨 마지막 행으로 이동 |
:n |
n행으로 이동 (여기서 n은 숫자임) |
삭제
명령어 |
설명 |
x |
커서 위치의 글자 삭제 |
dw |
한 단어를 삭제 |
dd |
커서가 있는 행을 삭제 |
복사 & 붙이기
명령어 |
설명 |
yy |
커서가 위치한 한 행 복사 |
p |
붙여넣기 |
Nyy |
N행만큼 복사 (N은 숫자임) |
Np |
N번만큼 붙여넣기 (N은 숫지임) |
블록 지정 관련
명령어 |
설명 |
v |
블록 지정 (v를 누른후 h j k l을 통해 블록 지정) |
y |
복사 |
d |
잘라내기 |
U |
대문자로 만듬 |
u |
소문자로 만듬 |
문자열 탐색 및 치환
명령어 |
설명 |
/문자열 |
문자열을 탐색 |
:%s/old/new/g |
문서 전체에서 old를 new로 교체 |
파일 버퍼 관련 명령 요약
명령어 |
설명 |
:ls |
버퍼의 내용을 나열 |
:bN |
N번 버퍼로 이동(N은 숫자임) |
:bwN |
N번 버퍼를 완전 삭제(N은 숫자며, 없으면 현재의 버퍼삭제) |
*여러 파일을 편집하는 방법
$vi file1.c file2.c file.3c 또는 vi *.c
버퍼 1에 file1.c가 들어가고 버퍼 2,3에 각각 file2.c file3.c가 들어가며
vim 명령어 모드에서 :b2를 입력하면 file2.c가 열리게 된다.
마킹 및 마킹한 위치로 이동
명령어 |
설명 |
ma |
a로 마킹, mb는 b로 마킹 |
‘a |
a로 마킹된 위치로 돌아감 ‘c는 c로 마킹된 위치로 돌아감 |