Vim tutor (ver. 1.7) 정리
Lesson 1
1.1. MOVING THE CURSOR
- h, j, k, l 키로 커서 이동 가능
- h는 좌측으로 이동 / l은 우측으로 이동
- j는 아래로 이동 / k는 위로 이동
- 화살표 키도 같은 원리로 동작하지만, hjkl을 사용하는 것이 익숙해지면 더 좋은 성능을 보임
1.2. EXITING VIM
- 키를 통해 Normal mode로 전환
- Type :q!
- q!를 이용한 종료는 수정 내역을 모두 무시하는 종료
1.3. TEXT EDITING - DELETION
- x키를 사용하여 cursor가 표시하고 있는 문자 삭제 가능
1.4. TEXT EDITING - INSERTION
- Normal mode에서 Insert Mode로 전환하기 위해 [i] 누름
- cursor 왼쪽에 문자 추가 가능
1.5. TEXT EDITING - APPENDING
- Normal mode에서 Insert Mode로 [a]를 눌러 전환
- cursor가 표시하고 있는 오른쪽부터 문자 추가 가능
1.6. EDITING A FILE
- :wq : 수정 사항을 반영하여 파일을 저장한 후 종료
Lesson 2
2.1. DELETION COMMANDS
- Normal mode에서 dw 명령어 사용하여 단어 단위로 삭제 가능
- Normal mode에서 dd 명령어 사용하여 line 단위로 삭제 가능
2.2. ON OPERATORS AND MOTIONS
- w: 다음 단어의 첫 글자로 이동
- e: 다음 단어의 마지막 글자로 이동
- $: line의 맨 마지막 글자로 이동
2.3. USING A COUNT FOR A MOTION
- 2w, 3e 등 숫자를 활용한 이동 또한 가능
- 0 입력해서 line의 처음으로 이동 가능
2.4. USING A COUNT TO DELETE MORE
- d2w, d3w 등으로 단어 여러 개 동시에 삭제도 가능
2.5. THE UNDO COMMAND
- u 입력하여 마지막 명령 취소 가능
- U 입력하여 전체 라인에 대한 수정 취소 가능
Lesson 3
3.1. THE PUT COMMAND
- 무언가를 지우면 Vim register에 저장됨
- 이를 이용하여 삭제한 특정 line을 p 입력으로 커서 아래에 붙여넣기 가능
3.2. THE REPLACE COMMAND
- r + <바꿀 글자> 명령어로 커서 아래 글자의 변경 가능
3.3. THE CHANGE OPERATOR
- ce 입력하여 커서 뒤 글자들 제거 가능
- 제거 이후 사용자를 Insert mode에 위치시킴
- Deletion 때와 마찬가지로 cw, c$ 등의 명령어도 적용이 가능
Lesson 4
4.1. CURSOR LOCATION AND FILE STATUS
- CTRL-G: 현재 자신이 보고있는 파일의 위치와 상태 표시
- gg: 파일의 맨 처음 line으로 이동
- G: 파일의 맨 마지막 line으로 이동
- line # + G: 해당 line 번호로 이동
4.2. THE SEARCH COMMAND
- / 누른 후 원하는 검색어 입력하여 검색 가능(커서 다음부터 검색)
- ? 누른 후 원하는 검색어 입력하여 검색 가능(커서 이전부터 검색)
- n: 다음 검색 결과 확인 가능
- N: 이전 검색 결과 확인 가능
- CTRL-O: 검색 이전에 있던 장소로 돌아가기
- CTRL-I: 다음 장소로 이동
4.3. MATCHING PARENTHESES SEARCH
- 커서를 (, [, { 위에 올려놓고 % 입력
- 닫히는 괄호를 찾아주는 기능 수행
- 괄호가 안맞는 프로그램을 디버깅할 때 매우 유용하게 사용 가능
4.4. THE SUBSTITUTE COMMAND
- :s/old/new: line 내 첫 번째 old를 new로 교체
- :s/old/new/g: line 내 모든 old를 new로 교체
- :%s/old/new/g: 파일 내 모든 old를 new로 교체
- :%s/old/new/gc: 파일 내 모든 old를 new로 교체하되, 매 번 확인 여부 물음
- :#,#s/old/new/g: 두 line 번호 사이에 있는 모든 old를 new로 교체
Lesson 5
5.1. HOW TO EXECUTE AN EXTERNAL COMMAND
- :! 이후에 external command를 입력하여 외부 명령어 실행 가능
5.2. MORE ON WRITING FILES
- :w file_name 으로 다른 이름으로 저장 가능
5.3. SELECTIONG TEXT TO WRITE
- v 눌러서 Visual mode로 진입
- 커서 옮겨서 처리하고 싶은 line들 highlighted 되게 설정
- :누르면 :'<,'> 를 확인 가능
:'<,'>w TEST
5.4. RETRIEVING AND MERGING FILES
- r 명령어 통해 파일 읽어와 현재 파일의 커서에 붙여넣기 가능
:r FILENAME
# 아래와 같은 응용도 가능
:r !ls
Lesson 6
6.1. THE OPEN COMMAND
- o: 커서 아래에 한 공백 line을 추가하고 사용자를 Insert mode에 진입시킴
- O: 커서 위에 한 공백 line을 추가하고 사용자를 Insert mode에 진입시킴
6.2. THE APPEND COMMAND
- a: 커서 다음에 새로운 글자 추가하도록 함
- A: line 마지막에 새로운 글자 추가하도록 함
6.3. ANOTHER WAY TO REPLACE
- R: Replace mode로 진입
- 입력한 글자가 이미 존재하는 글자들 지우는 형태의 모드
6.4. COPY AND PASTE TEXT
- v 눌러 Visual mode 진입한 후, y 버튼으로 highlighted 된 문장 복사 가능
- p 눌러 복사한 문장 붙여넣기 가능
- yw: 한 단어 복사
- V: line 단위로 Visual mode highlight
6.5. SET OPTION
- :set ic: 대소문자 구분 없이 검색 가능하게 하는 옵션
- :set noic: ic 옵션 비활성화
- :set hls: 모든 검색 결과 highlight 되도록 하는 옵션
- :nohlsearch: 검색 결과 highlight 제거
- :set is: 부분 매칭되는 결과도 함께 보여주도록 하는 옵션
- 옵션의 앞에 'no' 붙이면 옵션 해제 가능
Lesson 7
7.1. GETTING HELP
- [F1] 키 or :help 입력해서 도움 시스템 실행 가능
- CTRL + W 눌러 서로 다른 창 이동 가능
7.2 CREATE A STARTUP SCRIPT
- vimrc 파일 수정해서 원하는 옵션 추가하여 사용 가능
- :r $VIMRUNTIME/vimrc_example.vim
- 코드 파일 syntax highlight 기능 추가!
7.3 COMPLETION
- : 누르고 문자 입력한 후, CTRL + D 입력하면 해당 문자로 시작하는 명령어 목록 보여줌
- 키로 명령어 자동완성 기능 사용 가능