UNIX LINUX VI 명령어 모음
안녕하세요. 오늘은 VI 명령어 모음에 대해 소개해 드립니다.
먼저 VI가 뭔지 부터 소개해 드릴께요.
VI 소개
vi는 빌 조이가 1976년도에 만든 UNIX 계열 운영체제에서 주로 쓰이는 유서 깊은 오픈 소스 문서 편집기이다. “Visual editor”라는 뜻이다. 요즘 대다수의 유닉스와 리눅스 배포판에서 터미널에 vi를 치면 vim의 vi 호환모드가 뜨도록 하여 요즘에 리눅스나 유닉스를 배운 사람들은 vim이 vi인 줄 아는 경우도 있다. vim은 vi와 호환되기는 하지만 개발자부터 시작해서 완전히 다른 물건이다. 원칙적으로 텍스트 모드에서 작동하도록 만들어졌기 때문에 어떠한 플랫폼용 버전을 사용해도 기본적으로 모든 GUI가 텍스트 문자로 이루어져 있다. 내부 창 구분이나 구역 분할 등등.
VI 명령어 모음
1. 입력 모드 (Insert mode)
명령모드 상태에서 i, a, o, I, A, O 의 단축키를 입력하여 입력 모드로 전환할 수 있다. 입력 모드에서는 직접 글이나 코드를 작성할 수 있는 상태이다.
명령어 | 기능 |
i | – 현재 커서의 위치부터 입력 |
I | – 현재 커서 줄의 맨 앞에서부터 입력 |
a | – 현재 커서의 다음 줄에 입력 |
A | – 현재 커서 줄의 맨 뒤에서부터 입력 |
o | – 현재 커서의 다음 줄에 입력 |
O | – 현재 커서의 이전 줄에 입력 |
s | – 현재 커서 위치의 한 글자를 지우고 입력 |
S | – 현재 커서의 한 줄을 지우고 입력 |
2. 명령 모드 (Command mode)
vi 명령어로 편집기를 시작할 시, 단축키를 사용하여 커서의 이동, 수정, 삭제, 복사 & 붙이기 등 다양한 명령을 수행할 수 있다.
입력 모드에 진입한 후, 다시 명령 모드로 돌아오려면 [ESC]키를 누르면 명령 모드로 다시 되돌아올 수 있다.
명령어 | 기능 |
x | – 현재 커서가 위치한 문자를 삭제 (Del과 같다) |
dw | – 현재 커서가 위치한 곳부터 단어 삭제 |
dd | – 현재 커서가 위치한 곳의 한 줄을 삭제 |
숫자 + dd | – 현재 커서가 위치한 곳부터 숫자만큼의 줄을 삭제 (5dd : 5줄 삭제) |
yy | – 현재 커서가 위치한 곳의 한 줄을 복사 |
숫자 + yy | – 현재 커서가 위치한 곳부터 숫자만큼의 줄을 복사 (5yy : 5줄 복사) |
p (소문자) | – 현재 커서가 위치한 곳의 다음 줄의 내용 붙여넣기 |
P (대문자) | – 현재 커서가 위치한 곳의 이전 줄의 내용 붙여넣기 |
u | – 직전에 내린 명령을 취소 |
h | – 커서를 왼쪽으로 한칸 이동 (방향키 ←) |
j | – 커서를 한줄 아래로 이동 (방향키 ↓) |
k | – 커서를 한줄 위로 이동 (방향키 ↑) |
l | – 커서를 오른쪽으로 한칸 이동 (방향키 →) |
w | – 다음 단어의 처음으로 이동 |
^ | – 줄의 첫 문자로 이동 |
$ | – 현재 커서가 위치한 줄의 맨 끝으로 이동 (Home) |
0 | – 현재 커서가 위치한 줄의 맨 앞으로 이동 (End) |
G | – 제일 끝 줄로 이동 |
gg | – 제일 처음 줄로 이동 |
nG | – n번째 줄로 이동 (n= 숫자) |
H | – 화면의 첫 줄로 이동 |
M | – 화면의 중간으로 이동 |
L | – 화면이 끝 줄로 이동 |
Ctrl + b | – 이전 화면으로 이동 (Page Up) |
Ctrl + f | – 다음 화면으로 이동 (Page Down) |
3. 마지막 행 모드 (Last line mode)
마지막 행 모드는 명령 모드 상태일 때, ‘:’ (콜론)을 입력하면 화면 맨 밑에서 명령을 수행하는 모드이다.저장, 종료, 치환, 탐색 등의 기능을 수행할 수 있다.
명령어 | 기능 |
:w | – 현재 파일명으로 파일 저장 |
:q | – vi 편집기 종료 (저장되지 않음) |
:q! | – vi 편집기 강제 종료 |
:wq | – 수정 내용 저장 후 종료 |
:wq! | – 강제 저장 후 종료 |
:숫자 | – 해당 숫자 라인으로 커서 이동 |
:e! | – 마지막 저장 이후 모든 편집 취소 |
/문자열 | – 현재 커서 위치에서부터 파일 앞쪽으로 문자열 탐색 |
?문자열 | – 현재 커서 위치에서부터 파일 뒤쪽으로 문자열 탐색 |
:set nu | – vi 라인 번호 출력 |
:set nonu | – vi 라인 번호 출력 취소 |
여기까지 VI 명령어 모음 이었습니다.