Vim
Vim의 모드 전환
- 기본적으로 일반 모드
- 이 외에 입력 모드, 비주얼 모드, 명령 모드가 있다.
- 각 모드에서
esc
를 입력하면 다시 일반 모드로 돌아온다
- 각 모드끼리 바로 전환은 불가능하고, 반드시 일반 모드를 거쳐야 한다.
입력 모드
- 일반 모드에서 아래와 같은 키를 입력하여 전환한다.
1. insert, 삽입
i
: 현재 커서의 위치에서 입력 모드로 전환한다.
I
: 커서를 현재 줄의 첫 번째 위치로 옮기고 입력 모드로 전환한다.
2. append, 추가
a
: 커서를 한 칸 뒤로 옮기고 입력 모드로 전환한다.
A
: 커서를 현재 줄의 마지막 칸으로 옮기고 입력 모드로 전환한다.
3. open, 개행
o
: 커서를 다음 줄로 넘기고 입력 모드로 전환한다.
O
: 커서 위에 빈 줄을 만들고 입력 모드로 전환한다.
명령 모드
1. :
- 일반 모드에서 콜론(
:
) 키를 눌러서 전환한다.
- 이후에 아래와 같은 명령어를 사용하여 여러 기능을 수행할 수 있다.
w
- write, 저장
- 새로운 파일을 생성하는 경우
w [저장할 파일 이름]
와 같이 저장한다.
- 기존에 존재하는 파일인 경우
w
만을 입력해서 저장한다.
- 저장이 완료되면 아래와 같이 저장 결과가 출력된다. (총 5줄, 106글자)
q
- quit, vim 종료
- 파일 수정 후에 저장하지 않고 종료를 하면 경고 메시지가 뜬다.
- 수정된 내용을 저장하고 싶지 않은 경우,
q!
명령으로 강제 종료를 하면 된다.
wq
s
- substitue, 대체
s/[기존 텍스트]/[대체할 텍스트]
: 첫 번째 기존 텍스트의 내용을 대체할 텍스트로 바꾼다.
- 앞에
%
를 붙이면 각 줄의 첫 번째로 나타난 기존 텍스트를 대체한다.
g
(global) 옵션을 사용하여 각 문장의 모든 기존 텍스트를 대체할 수 있다.
c
(check) 옵션을 사용하여 대체할 텍스트를 하나씩 확인할 수 있다.
y
또는 n
을 입력하여 텍스트를 대체할 것인지 직접 선택한다.
2. /
- 명령 모드로 전환하여 텍스트 검색을 수행한다.
/
뒤에 검색하려는 텍스트를 입력하면 해당 문자가 나타나는 첫 번째 위치로 커서가 이동한다.
n
(next)로 다음 검색 내용, N
(next)로 이전 검색 내용으로 이동할 수 있다.
일반 모드
1. 커서 이동
- 키보드 방향키 사용
- 알파벳 키 사용
h
: 👈
j
: 👇
k
: 👆
l
: 👉
숫자 + h/j/k/l
을 사용하면 원하는 방향으로 원하는 만큼 커서를 이동할 수 있다.
Ctrl + g
: 파일의 길이와 현재 커서가 몇 퍼센트 위치에 있는지 출력
- 오른쪽 하단에서 현재 커서가 몇 번째 줄의 몇 번째 칸에 있는지를 확인할 수 있다.
0
: 현재 줄의 첫 번째 칸으로 이동
$
: 현재 줄의 마지막 칸으로 이동
gg
: 파일의 맨 처음으로 이동
G
: 파일의 마지막 줄로 이동
2. 텍스트 삭제
x
: 텍스트를 한 칸씩 삭제
dd
: 문장 전체 삭제
u
(undo): 이전 작업 취소
Ctrl + r
(redo): 취소한 작업 다시 실행
비주얼 모드
- 텍스트 블록 지정 가능
- 일반 모드에서 아래와 같은 키를 입력하여 전환한다.
v
: 글자 단위로 블록 지정
V
: 줄 단위로 블록 지정
- 방향키를 이용하여 블록 지정
1. 삭제
x
입력
- 삭제 후에 자동으로 일반 모드로 전환된다.
2. 복사 - 붙여넣기
y
(yank): 복사
- 복사 후에 자동으로 일반 모드로 전환된다.
p
(paste): 커서 다음 칸에 붙여넣기
P
(paste): 커서 이전 칸에 붙여넣기
3. 잘라내기
d
입력
- 이후에
p
나 P
로 해당 내용을 다른 곳으로 옮길 수 있다.