리눅스 OS는 자고로 기본 공통 소양이거늘 이제 알 때도 되었는데 vi 편집기 명령어들 항상 헷갈립니다. 제가 보려고 정리해 본 vi편집기 명령어 모음입니다
이젠 쫌 외우자 vi 편집기 명령어,,
모드 변경
일단 vi <파일명>으로 파일부터 열었다면 모드부터 바꿔 주셔야 합니다 지금이 명령행 모드인지 입력 모드인지 잘 생각하면서 사용해주시고, 마지막 나갈 때나 중간중간 라인편집 모드를 사용해주시게 되겠습니다
모드 | 내용 |
명령행 모드 | ESC, 명령을 실행하는 모드 |
입력 모드 | 실질적인 문자 입력 상태 a, i, o, A, I, O 버튼을 통해 이동 |
라인 편집 모드 (마지막 행 모드) |
ESC누른 후 : (콜론)을 입력하여 프롬프트에서 편집할 수 있도록 하는 모드 |
커서 이동
윈도처럼 마우스 스크롤이 없기 때문에 커서 이동을 잘 숙지해봅니다 h, l, k, j로 이동해 줘야 조금 간지가 나고, 화면단위로 움직이는 것도 잘 알아 둡니다(동해 번쩍 서해 번쩍 하기 위해,,)
명령어 | 내용 |
←, h | 왼쪽으로 커서 한 칸 이동 |
→, l | 오른쪽으로 한 칸 이동 |
↑, k | 윗쪽으로 커서 이동 |
↓, j | 아래쪽으로 커서 이동 |
Ctrl + f | 다음 화면으로 이동 |
Ctrl + b | 전 화면으로 이동 |
Ctrl + d | 하면의 반만 앞으로 이동 |
Ctrl + u | 화면의 반만 뒤로 이동 |
G | 커서를 텍스트의 마지막 라인으로 이동 |
M | 커서를 화면 중간 라인으로 이동 |
nG | n번째 줄로 이동 |
gg | 제일 처음 줄로 이동 |
입력 모드 변경
실제 파일을 입력할 수 있는 모드로 변경하는 명령어입니다 i 나 a만 사용하고 있긴 하지만 실제로는 여러 개가 있습니다
명령어 | 내용 |
a | 커서 뒤에 입력 |
i | 커서 앞에 입력 |
o | 커서 있는라인 밑에 입력 |
A | 라인 끝에 입력 |
I | 라인 시작 부분에 입력 |
O | 커서가 있는 라인 위에 입력 |
삭제, 복사, 붙여 넣기
윈도처럼 우클릭이 된다거나 단순 del 키나 Ctrl+c, Ctrl+v가 vi에서는 다르게 적용됩니다 사용하다 보면 여기서 답답할 때가 자주 생기네요 잘 알아 둡니다
명령어 | 내용 |
yy | 커서가 있는 라인을 복사 |
yw | 커서가 있는 단어를 복사 |
yG | 파일의 나머지 복사 |
yH | 화면 시작까지 복사 |
p | 삭제나 복사된 텍스르르 커서가 있는 문자나 라인 뒤에 삽입 |
P | 삭제나 복사된 텍스르르 커서가 있는 문자나 라인 앞에 삽입 |
x | 커서가 있는 문자 삭제 |
X | 커서가 있는 문자 앞의 문자 삭제 |
dw | 커서가 있는 단어 삭제 |
db | 커서 앞에 있는 단어 삭제 |
dd | 커서가 있는 라인 삭제 |
D | 커서가 있는 라인의 나머지 삭제 |
dG | 파일의 나머지 삭제 |
dH | 화면의 시작까지 삭제 |
u | 직전에 내린 명령 취소 |
바꾸기 명령
한 번에 바꾸는 명령어인데요 몇 개만 적어 봅니다, 이 부분까진 잘 사용하진 않지만 엔지니어분들 보면 사용할 일이 자주 있어 보입니다,,
명령어 | 내용 |
r | 커서에 있는 문자 대치 |
R | 입렫 코드로 한 문자씩 덮어씀 |
s | 커서가 있는 문자 삭제 후 입력 모드로 전환 |
S | 커서가 있는 줄을 삭젷나 후 입렫 모드로 전환 |
파일 종료, 검색, set
편집한 파일에 대한 저장 방법이나, 파일 내 검색 그리고 편집에 용이하도록 줄표시 등의 기능들을 라인 편집 모드에서 제공합니다 책에서는 라인 편집모드, 검색해 보면 마지막 행 모드(Last line mode) 등 이름이 좀 다르네요,, 수정한 파일을 저장이나 저장하지 않고 파일을 종료하기 위해 잘 알아 둡니다
명령어 | 내용 |
:w | 파일 저장 |
:q | vi 편집기 종료(저장되지 않음) |
:q! | vi편집기 강제 종료(저장되지 않음) |
:wq | 수정 내용 저장 후 종료 |
:wq! | 강제 저알 후 종료 |
:숫자 | 해당 숫자 라인으로 커서 이동 |
/pattern | 텍스트에서 앞으로 패턴 검색 |
?pattern | 텍스트에서 뒤로 패턴 검색 |
n | 앞 쪼는 뒤로 이전 검색 반복 |
N | 반대 방향으로 이전 검색 반복 |
set nu (set number) |
줄 번호를 나타나게 함 |
set nonu (set nonumber) |
줄 번호 출력 취소 |
제가 정리하고 제가 찾아보기 위한 vi 명령어 정리본이었습니다,, 더 많이 있겠지만 많이 사용할 만 명령어 위주로 정리해 보았습니다
댓글