반응형
Vim이란?
- 유닉스 계열 운영체제의 CLI 환경에서 사용하는 대표적인 텍스트 에디터
- 마우스없이 키보드로만 사용해야한다.
- UNIX에서는 이러한 Vim을 다룰줄 모르면, 기초적인 텍스트파일도 작성할 수 없다.
- vi improve의 줄임말이다.
- vim command를 입력해 사용한다.
Vim의 4가지 모드
- 사용자가 같은 키를 눌러도, 모드가 무엇인지에 따라 다른 기능이 작동된다.
- 일반 모드, 입력 모드, 비주얼 모드, 명령 모드, 총 4가지가 존재한다.
- 일반 모드가 모든 모드로 이동할 수 있는 기본 모드이다. 일반 모드를 거치지 않고서는 다른 모드로 변경할 수 없다.
- 다른 모드에서 일반모드로는 ESC키를 통해 변경한다.
모드 변경 | 기능 | |
일반 모드 (Normal Mode) | ESC | 커서이동, 텍스트 붙여넣기, 텍스트 삭제, 작업 취소 |
입력 모드 (Insert Mode) | a, i, o, A, I, O | 텍스트 입력 |
비주얼 모드 (Visual Mode) | v, V | 텍스트 블록 지정, 텍스트 복사 |
명령 모드 (Command Mode) | :, / | 내용 저장, vim 종료, 특정 텍스트 검색 및 치환 |
입력 모드
- i(insert)를 입력해 입력 모드로 전환할 수 있다.
- 아래에 -- INSERT -- 라는 문자가 생기면서 모드가 전환된다.
- 문자를 입력할 수 있는 모드이다.
- a(append)를 입력하면 커서를 한 칸 뒤로 옮기고 입력 모드로 전환된다.
- I(Insert)를 입력하면 커서가 현라인의 제일 첫번째 칸으로 이동되고 입력 모드로 전환된다.
- A(Append)를 입력하면 커서가 현라인의 제일 마지막 칸으로 이동되고 입력 모드로 전환된다.
- o(open)를 입력하면 커서가 다음 줄로 이동되고 입력 모드로 전환된다.
- O(Open)를 입력하면 커서 위에 빈 줄이 생기고 해당 줄로 이동 후 입력 모드로 전환된다.
명령 모드
- /(슬래시)를 입력하면 탐색 명령모드로 전환된다 찾으려는 단어를 입력하면 해당 단어를 vim 내부에서 찾아 커서를 이동시켜준다. n을 누르면 다음 단어로 이동하고, N을 누르면 이전 단어로 이동한다.
- :(콜론)을 입력해 명령 모드로 전환할 수 있다.
- 다양한 명령어를 입력해 파일 저장, 종료 등을 처리할 수 있다.
- w(write) : 파일 저장 (w [저장파일명])
- q(quit) : 종료
- wq : 저장 후 종료
- ! : 경고메세지 무시 (ex. q! -> vim 강제종료)
- s(subtitute) : 텍스트를 치환할 수 있다. 기본적으로 제일 앞의 하나의 단어만 치환되지만, %를 제일앞에 붙이면 모든 단어가 치환된다. (단, 각 줄에 1개씩만 변경된다.) 마지막에 g 옵션을 주면 완전 전체를 대상으로 변경된다. c 옵션을 주면 하나씩 확인해가면서 치환한다.
일반 모드
- 기본 DEFAULT 모드가 일반 모드이다.
- 방향키, hjkl키 : 커서 기본이동
- 숫자와 함께 기본이동키(방향키, hjkl키)를 누르면 한번에 해당 숫자만큼 커서가 이동된다.
- ctrl + g : 현재 위치한 line number 출력
- 0 : 현재 line의 제일 첫번째 칸으로 커서 이동
- $ : 현재 line의 제일 마지막 칸으로 커서 이동
- gg : 파일의 첫번째 줄로 커서 이동
- G : 파일의 마지막 줄로 커서 이동
- x : 텍스트 한 칸씩 삭제
- 숫자와 함께 삭제키(x)를 누르면 한번에 해당 숫자만큼 텍스트가 삭제된다.
- dd : line 전체 삭제
- 숫자와 함께 line 삭제키(dd)를 누르면 한번에 해당 숫자만큼 line이 삭제된다.
- u : 이전 작업 취소하기
비주얼 모드
- v 혹은 V를 입력하면 비주얼 모드로 전환된다.
- v는 한 글자씩 블록 지정이 가능해지고, V는 줄 단위로 블록 지정이 가능해진다.
- 아래에 -- VISUAL -- 라는 문자가 생기면서 모드가 전환된다.
- 블록지정된 텍스트는 그대로 삭제할 수도 있고, 복사-붙여넣기도 할 수 있다.
- x : 블록지정된 텍스트 삭제
- y : 복사하기
- 삭제 혹은 복사작업을 마치면 자동으로 일반 모드가 된다.
- p : 커서 다음 칸(줄)에 붙여넣기
- P : 커서 이전 칸(줄)에 붙여넣기
- v에서 블록을 복사했는지, V에서 블록을 복사했는지에 따라 p(P)의 결과가 조금 달라진다.
- d : 삭제하기(잘라내기)
- cf. Vim 공식 사용 설명서 : https://vimhelp.org/#help.txt
반응형
'💻 CS > 시스템프로그래밍' 카테고리의 다른 글
Linux - IO Redirection (0) | 2021.01.20 |
---|---|
Linux - apt (0) | 2021.01.20 |
자주 사용되는 linux command 모음 (0) | 2020.11.20 |
man command 살펴보기 (0) | 2020.11.19 |
WSL (Windows Subsystem for Linux) 사용하기 (0) | 2020.11.19 |