이번에는 서버관리할 때도 자주 사용되고 개발할때도 많이 사용되는 Vim에 대해서 간단하게 정리해보겠습니다.
Vim이란?
Vim은 Bram Moolenaar가 만든 vi 호환 텍스트 편집기 입니다. Vim은 vi와 호환 되면서도 독자적으로 다양한 기능을 추가하여 사용자의 편의를 돕고 있습니다. 특히 Vim 스크립트 등을 사용해서 자유롭게 편집 환경을 변경하거나, 확장된 정규 표현식 문법, 강력한 문법 강조 기능, 다중 되돌리기, 유니코드를 비록한 다국어 지원, 문법 검사 등을 쓸 수 있다는 점에서 강점으로 뽑힙니다.
Vim을 사용하는 이유?
Vim을 꼭 사용해야하는 이유? 그런건 없지만 사실 VSC같은거에서 기본적인 윈도우 키보드 사용방법인 "Ctrl + 방향키"와 "Ctrl + backslide"와 같은 기능에 익숙해져 있다면 Vim보단 아니여도 빠른 코딩이 가능합니다. 그럼에도 Vim을 사용하는 이유는 앞에서 말했듯 기본 기능만으론 Vim의 타이핑 속도를 이기지 못합니다. 코딩을 할때 전체 변경 몇 단어 삭제, 괄호 안만 삭제 등 필요한 기능들은 전부 Vim에 있다고 생각하시면 됩니다. 또한 마우스를 사용할일도 거의 없게 됩니다 ㅎㅎ
Vim의 기본 사용방법
Vim의 사용방법에 대해서 설명해드리겠습니다.
사용할 수 있는 방법은 2가지가 있습니다.
첫 번째는 Linux계열에서 vim을 사용하는 방법입니다.
두 번째는 VSC같은 IDE에서 추가로 Vim까는 것입니다.
설치를 하게되면 위 사진과 같이 커서가 두꺼워진것을 확인할 수 있습니다. 그리고 VSC아래를 보면 --NORMAL--이라고 되있는게 상태입니다. 이 상태에선 키보드 입력이 안되는 상태입니다.
i나 a를 누르면 다시 키보드 입력을 할 수 있는 --INSERT-- 모드가 되있는걸 확인할 수 있습니다. 여기서 다시 ESC를 누르면 --NORMAL--모드로 바뀌게 됩니다.
Vim 기본 명령어
NORMAL모드 <-> INSERT모드 전환방법 입니다.
- a : NORMAL모드일 때 커서 앞 부분부터 INSERT모드가 됩니다
- i : NORMAL모드일 때 커서 뒤 부분부터 INSERT모드가 됩니다.
- I(대문자 i) : 문장 시작에서 INSERT모드가 됩니다.
- A(대문자 a) : 문자 끝부분에 INSERT모드가 됩니다.
네비게이션 명령어 입니다
- h : 왼쪽 방향키
- j : 아래 방향키
- k : 위 방향키
- l : 오른쪽 방향키
- 0 : 문장의 제일 앞부분
- $(Shift + 4) : 문장의 제일 뒷 부분
- w : 한 단어씩 건너뜀
- b : 뒤로 한단씩 건너 뜀
- [n]w: n번만큼 반복 3w같은 경우 3개의 단어를 건너 뛴다는 소리
- H(대문자 h) : 화면 제일 위로 이동
- M(대문자 m) : 화면 제일 중간으로 이동
- L(대문자 l) : 화면 제일 아래로 이동
- gg : 현재 작업하는 파일 제일 앞으로 이동
- G(대문자 g) : 현재 작업하는 파일 제일 뒤로 이동
- [n]G : n번째 줄로 이동 13G면 13번째 줄로 이동
- ctrl u : 위로 스코롤링
- ctrl d : 아래로 스크롤링
- { : 문단 시작
- } : 문단 끝
편집 명령어
- x : 커서 아래 글 삭제
- dd : 커서 위치 문장 전체 삭제(잘라내기)
- yy : 문장 복사(ctrl c 기능)
- p : 붙여넣기
- *p : 클립보드 붙여넣기(VSC에서 별도의 설정 필요)
- u : 뒤로 되돌리기
- ctrl r : 앞으로 다시 되돌리기
Vim사용 심화버전
작동 방식은 Command + Object로 진행됩니다.
- Command : d delete(cut), y yank (copy), c change(change는 다른 명령어와 달리 완료되면 INSERT모드로 변경됨)
- Object : 3w, 3b, aw(a word), at(a tag), ap(a paragraph), as(a sentence), it, i", ip
- .(점) : (점)을 눌러 그 전 명령어를 반복할 수 있음
예시)
- d3w: delete 3 word(세 단어를 지워라)가 되는 것 입니다.
- dit: delete inner(insdie) tags <>이 태그 안에 있는 모든 것들을 지웁니다.
- daw: delete a word 한단어를 삭제합니다.
- d3w: delete 3 word 세 단어를 삭제합니다.
- d2j: 아래로 2줄을 삭제합니다.
- d2k: 위로 2줄을 삭제합니다
- df( : ((소괄호)까지 삭제합니다
- dt( : ((소괄호)앞까지 삭제합니다
- d/(sh: (sh까지 삭제합니다
추가 사용법
- v : 선택(드래그)
- vaw : 한단어를 선택(드래그)합니다
참고
https://www.youtube.com/watch?v=cY0JxzENBJg&t=6s
'기능반공부 > 서버' 카테고리의 다른 글
[DOCKER] 도커에 대한 기본 사용 설명 (0) | 2022.11.01 |
---|---|
쉘 스크립트 (0) | 2022.02.11 |
[기능반] 서버구축 4. (0) | 2022.02.03 |
[기능반] 서버구축 2. (0) | 2022.01.27 |
[기능반] 서버구축 1. (0) | 2022.01.25 |