1. 기본 사용 방법
1) 시작
명령 | 설명 |
---|
vim | 저장할 때 반드시 파일 이름을 지정해 주어야 함 |
vim [파일명] | 해당 파일명으로 자동으로 저장됨 |
파일의 경우 저장할 때 생성됨
2) 저장
명령 | 설명 |
---|
:w | 파일을 저장 |
:w [파일명] | 파일을 해당 파일명으로 저장 |
:w! | 파일을 강제로 저장, 해당 파일이 이미 존재한다면 덮어씌움 |
:w! [파일명] | 파일을 강제로 저장, 해당 파일이 이미 존재한다면 덮어씌움 |
3) 종료
명령 | 설명 |
---|
:q | 편집기 종료, 파일이 수정된 채로 저장되어 있지 않다면 오류 발생 |
:q! | 편집기 강제 종료 |
:wq 혹은 x | w와q명령어 동시에 실행 |
2. 명령 모드
1) 문자의 입력
명령 | 설명 |
---|
a | 현재 커서 위치 다음에 문자 입력 |
A | 현재 커서 위치 라인의 끝에 문자 입력 |
i | 현재 커서 위치에 문자 입력 |
I | 현재 커서 위치 라인의 앞에 문자 입력 |
o | 현재 커서 위치 라인의 아래에 새로운 문장 입력 |
O | 현재 커서 위치 라인의 위에 새로운 문장 입력 |
2) 문자의 수정
명령 | 설명 |
---|
r | 커서가 위치한 곳 한 글자만 다른 글자로 변경 |
R | 커서가 위치한 곳 글자를 다른 글자로 변경 esc를 입력 할 때 까지 수행 |
[n]s | 커서가 위치한 글자를 지우고 해당 위치 입력모드 전환, n은 몇 개의 글자를 지울지 결정 |
[n]S | 커서가 위치한 라인을 지우고 해당 위치 입력모드 전환, n은 몇 개의 라인을 지울지 결정 |
[n]cw | 현재 커서 기준 뒤쪽으로 위치한 단어를 제거하고 해당 위치 입력모드 전환, n은 몇 개의 단어를 제거할 지 결정 |
C | 현재 커서 기준으로 커서 위치 글자부터 라인 맨 끝까지 제거 및 해당 위치 입력모드 전환 |
[n]cc | [n]S와 동일한 기능 |
3) 문자의 삭제
명령 | 설명 |
---|
[n]x | 커서가 위치한 곳 뒤의 글자를 제거(del과 같은 효과), n은 몇 개를 제거할 지 결정 |
[n]X | 커서가 위치한 곳 앞의 글자를 제거(backspace과 같은 효과), n은 몇 개를 제거할 지 결정 |
[n]dw | 커서가 위치한 곳 뒤의 단어를 제거, n은 몇 개를 제거할 지 결정 |
d0 | 커서가 위치한 곳 기준 라인 맨 앞까지 제거 |
d$ | 커서가 위치한 곳 기준 라인 맨 뒤까지 제거 |
[n]dd | 커서가 위치한 곳 라인 제거, n은 몇 개를 제거할 지 결정 |
p | 커서가 위치한 곳 기준 뒤 혹은 아래 라인에 붙여넣기 |
P | 커서가 위치한 곳 기준 앞 혹은 위 라인에 붙여넣기 |
d를 이용한 문자의 삭제는 버퍼에 저장이 되므로 오려넣기와 붙여넣기가 가능하다
d, x 명령어 계열은 삭제와 동시에 오려두기 기능을 한다!!
4) 복사하기
명령 | 설명 |
---|
[n]yw | 커서가 위치한 곳 뒤의 단어를 복사, n은 몇 개를 제거할 지 결정 |
y0 | 커서가 위치한 곳 기준 라인 맨 앞까지 복사 |
y$ | 커서가 위치한 곳 기준 라인 맨 뒤까지 복사 |
[n]yy | 커서가 위치한 곳 라인 복사, n은 몇 개를 제거할 지 결정 |
p | 커서가 위치한 곳 기준 뒤 혹은 아래 라인에 붙여넣기 |
P | 커서가 위치한 곳 기준 앞 혹은 위 라인에 붙여넣기 |
5) 작업 취소, 되돌리기 및 반복
명령 | 설명 |
---|
u | 이전 작업 취소 |
. | 직전에 수행한 작업 반복 |
ctrl+r | 작업 취소한 내용을 다시 실행 즉 작업 취소를 취소 |
6) 화면 이동
명령 | 설명 |
---|
h | 한 글자 왼쪽 이동 |
j | 한 문장 아래로 이동 |
k | 한 문장 위로 이동 |
l | 한 글자 오른쪽 이동 |
명령 | 설명 |
---|
w, W | 커서가 위치한 곳 기준 뒤의 단어 첫 글자로 이동 |
b, B | 커서가 위치한 곳 기준 앞의 단어 첫 글자로 이동 |
명령 | 설명 |
---|
^, 0 | 커서를 현재 문장의 첫 글자로 이동 |
$ | 커서를 현재 문장의 마지막 글자로 이동 |
[n]+, [n] | 커서를 다음 문장의 첫 글자로 이동, n은 몇 개의 문장을 이동할 것인지 결정 |
[n]- | 커서를 이전 문장의 첫 글자로 이동, n은 몇 개의 문장을 이동할 것인지 결정 |
H | 커서를 화면의 제일 윗 문장 맨 앞 글자로 이동 |
M | 커서를 화면의 가운데 문장 맨 앞 글자로 이동 |
L | 커서를 화면의 제일 끝 문장 맨 앞 글자로 이동 |
명령 | 설명 |
---|
ctrl + f | 커서를 다음 화면으로 이동 |
ctrl + b | 커서를 이전 화면으로 이동 |
ctrl + d | 커서를 다음 화면의 반만큼 이동 |
ctrl + u | 커서를 이전 화면의 반만큼 이동 |
ctrl + y | 커서를 한 행씩 위로 이동 |
ctrl + e | 커서를 한 행씩 아래로 이동 |
[n] shift + g | 커서를 맨 마지막 라인의 처음으로 이동, n이 있을 경우 n번째 라인의 처음으로 이동 |
3. 라인 모드
1) 문장으로 이동
2) 범위 지정
이부분의 경우 명령어가 아니라 문법입니다!!
[범위] 부분은 다음의 문법으로 입력하시면 됩니다!!
기호 | 설명 |
---|
숫자 | 문장 번호 의미 |
$ | 마지막 의미 |
% | 전체 의미 |
. | 현재 커서가 위치한 문장 의미 |
3) 복사하기 오려두기 붙이기
명령 | 설명 |
---|
:[n]y | 현재 커서가 있는 라인 복사, n이 있을 시 해당 라인 복사 |
:[범위]y | 해당 범위 복사 |
:[n]d | 현재 커서가 있는 라인 오려두기, n이 있을 시 해당 라인 오려두기 |
:[범위]d | 해당 범위 오려두기 |
:[n]pu | 현재 커서 위치한 라인 다음으로 붙이기, n이 있을 시 n번째 문장 아래로 붙이기 |
4) 문자열 검색 및 변경
명령 | 설명 |
---|
/[검색문자열] + n 혹은 N | 현재 커서 위치 기준 아래로 검색, n은 검색 방향 N은 검색 반대 방향으로 다음 문자열 검색 |
?[검색문자열] + n 혹은 N | 현재 커서 위치 기준 위로 검색, n은 검색 방향 N은 검색 반대 방향으로 다음 문자열 검색 |
:s[문자열1]/[문자열2] | 커서 위치 라인의 첫 번쨰 문자열1을 문자열2로 변경 |
:s[문자열1]/[문자열2]/c | 커서 위치 라인의 첫 번쨰 문자열1을 문자열2로 변경 및 변경 여부 물음 |
:s[문자열1]/[문자열2]/g | 커서 위치 라인의 모든 문자열1을 문자열2로 변경 |
:s%[문자열1]/[문자열2]/g | 문서에 존재하는 모든 문자열1을 문자열2로 변경 |
:[범위]s[문자열1]/[문자열2]/g | 해당 범위 내에서 모든 문자열1을 문자열2로 변경 |
5) 파일 불러오기 및 전환
명령 | 설명 |
---|
:r [파일명] | 해당 파일을 현재 커서 아래로 삽입 |
:e [파일명] | 해당 파일로 전환 |
:n 혹은 :N | 현재 파일에서 n이면 앞으로, N이면 뒤로 전환 |
6) 쉘 사용
명령 | 설명 |
---|
:! [쉘명령어] | 해당 쉘명령어 결과 출력 |
:sh | 쉘 프롬프트로 전환, exit입력 시 다시 vim으로 돌아옴 |
기본 적인 내용이니 이 정도는 외워두자!!
Reference
- 시스템운영과 관리 우분투 리눅스 / 저자 : 이광, 김봉근, 안준호 / 출판사 : 도서출판 글로벌