vim 사용하기
vi는 유닉스의 기본 텍스트 편집기이고,
vim은 vi가 개량된 버전으로 vi improved의 약자이다.
최근에는 대부분의 환경에서 vi 명령어를 입력해도 vim으로 연결된다.
명령모드와 입력모드
vim에는 명령모드와 입력모드가 있다.
기본적으로 편집기에 들어가면 명령모드
로 시작하며 여기서 명령을 이용한 작업이 가능하다.
입력모드
에 들어가면 일반적인 편집기처럼 텍스트의 입력이 가능해진다.
기본 단축키
- 파일 열기
vi(vim) 파일명
- 입력모드로 전환
i
: 커서 위치에서 입력모드로 전환 (insert)a
: 커서 다음위치에서 입력모드로 전환 (append)I
: 문장 시작 위치에서 입력모드로 전환A
: 문장 끝 위치에서 입력모드로 전환
- 명령모드로 전환
ESC
- 저장/종료 (명령모드에서)
:q
: 종료:w
: 저장:wq
: 저장 후 종료!
: 명령어 뒤에 붙이면 강제 실행 (:q!, :wq!)
- 커서 이동
h, j, k, l
: 왼쪽, 아래, 위, 오른쪽 이동w
: 한 단어 이동 (다음 단어 시작으로)b
: 한 단어 뒤로 이동 (이전 단어 시작으로)0
: 문장 시작 위치로 이동$
: 문장 끝 위치로 이동H, M, L
: 현재 보이는 화면의 시작, 중간, 끝 라인으로 이동{
: 이전 문단 시작으로 이동}
: 다음 문단 시작으로 이동gg
: 파일 시작 위치로 이동G
: 파일 끝 위치로 이동ctrl + u/d
: 위/아래 스크롤:20, 20G
: 특정 라인으로 이동. 20번째 줄로 이동3w, 8w
: 3단어 이동. 8단어 이동. 다른 명령어도 숫자와 붙여 사용가능
- 삭제
x
: 커서 아래 글자 삭제dw
: 커서 뒤의 단어 삭제 (커서 포함)db
: 커서 앞의 단어 삭제dd
: 커서가 있는 라인 삭제
- 복사
yw
: 커서 뒤의 단어 복사 (커서 포함)yb
: 커서 앞의 단어 복사yy
: 커서가 있는 라인 복사
- 붙여넣기
p
: 커서 다음에 붙여넣기P
: 커서 이전에 붙여넣기*p
: 클립보드 내용 붙여넣기
- 검색
/문자열
: 앞에서부터 문자열 검색?문자열
: 뒤에서부터 문자열 검색n
: 다음 검색결과로 이동N
: 이전 검색결과로 이동
- 되돌리기(Undo), 다시실행(Redo), 반복
u
: 되돌리기 (Undo)ctrl + r
: 다시 실행 (Redo).
: 이전 명령 반복
응용
위의 dw, yw와 같은 단축키들은 사실은 명령어(command) + 대상(object)
로 구성되어 있다.
대표적인 명령어
는 다음과 같다.
c
: change, 변경d
: delete, 삭제y
: yank, 복사
대상 선택 명령어
로는 아래와 같은 것들이 있다.
w
: word. 앞의 단어b
: back word. 뒤의 단어p
: phrase. 문단s
: sentence. 라인. 줄hjkl
: 왼아위오i
: inner. 내부를 선택a
: all. 포함/, f, t
: 검색
즉, 응용
하면 아래와 같이도 사용이 가능하다는 것이다.
d3w
: 단어 3개 삭제d2j
: 아래 2줄 삭제di{
: 중괄호 안의 모든 내용 삭제da(
: 소괄호를 포함한 모든 내용 삭제di"
: 큰 따옴표 안의 모든 내용 삭제das
: 1줄 삭제ci[
: 대괄호 안의 모든 내용을 삭제하고 입력모드로 전환. (c는 삭제 후 입력모드 전환)df(
: 커서에서 다음 (를 검색하여 (까지 삭제dt(
: 커서에서 다음 (를 검색하여 (전 까지 삭제d/(sh
: 커서에서 / 이후 (sh가 나오는 부분을 검색하여 전까지 삭제